125 Aufrufe
Gefragt in Webseiten HTML von strauss Experte (4k Punkte)
Hallo an alle

Ich muss zur Frage etwas ausholen, damit ihr euch auch was drunter vorstellen könnt.

Ich hab aus einer alten Preisanzeige einer Tankstelle vier Klappziffern incl Elektronik dazu.

Die Konfiguation dafür erfolgt über eine Steuereinheit, welche über den Browser erreichbar ist. Im "Normalzustand" erhält die Steuereinheit vom Kassensystem der Tankstelle über eine spezielle Schnittstelle die aktuellen Preise.

Man kann aber auch über die Konfigseite im Browser die Preise manuell eingeben und die Kassenschnittstelle auch deaktivieren, so das nur manuelle Eingabe möglich ist.

Ich würde gerne mit den vier Ziffenr die aktuelle Zeit anzeigen lassen

Es müsste jetzt also ein Scrpt erstellt werden, welches minütlich in ein vergegebens Eingabefeld einträgt und dann einen "Klick" auf das "Preise Senden" Befehlsfeld ausführt.

Die Webseite der Konfigurationsseite lässt sich mit Sicherheit auch von der Steuereinheit runterladen, damit man dann auch rausbekommt in welches Eingabefeld die Werte eingetragen werden müssen und welcher Button dann "gedrückt" werden muss..

Ist das ganze überhaupt möglich, ohne an der eigentlichen Webseite was zu änderen?

Mfg Micha

2 Antworten

0 Punkte
Beantwortet von xlking Experte (1.5k Punkte)
Bearbeitet von xlking

Hallo Micha,

was für eine schöne Idee, das als Uhr zu benutzen. Da du nur Vier Ziffern hast, kannst du allerdings nur Stunden und Minuten anzeigen. Reicht ja auch. Nachdem sich hier bislang noch niemand gemeldet hat, versuche ich mal mein Glück. In Sachen JavaScript bin ich zwar leider noch absoluter Anfänger, aber ich hab dir dennoch mal einen Code zusammengeschustert. Wenn ich dich richtig verstanden habe gibt es nur ein Eingabefeld und einen Button in deinem Portal. Füge mal den folgenden simplen Code in eine neue Textdatei ein und speichere sie als HTML:


<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <form>
      <label for="Uhrzeit">Uhrzeit</label>
      <input type="number" name="Uhrzeit", id="Uhrzeit">
      <button type="button" id="myButton" onclick="Zeit_Zeigen()">Übergeben</button>
      <div id="test"></div>
    </form>

    <script>
        Zeit_Wechseln();
        setInterval(Zeit_Wechseln,60000);

        function Zeit_Wechseln(){
            let jetzt = new Date();
            let std=jetzt.getHours();
            let min=jetzt.getMinutes();
            document.getElementById("Uhrzeit").value=std+min/100;
            document.getElementById("myButton").click();
        }

        function Zeit_Zeigen(){
            document.getElementById("test").innerHTML = document.getElementById("Uhrzeit").value;
        }
    </script>
</body>
</html>

Wenn du die Datei nun aufrufst, wird in das Eingabefeld die Uhrzeit im Dezimalformat (Stunden vor dem Komma, Minuten nach dem Komma) eingetragen. Das passiert über die Funktion Zeit_Wechseln. Der Befehl setInterval führt dazu, dass diese alle 60000 Millisekunden, also einmal pro Minute, aktualisiert wird. Nachdem der Eintrag erfolgt ist, wird der Button automatisch angeklickt, wodurch die eingetragene Zeit dann über die Funktion Zeit_Zeigen im DIV erscheint. Oder in deinem Fall an der Anzeige. Wie die Funktion heißt und was drinsteht, damit du das an der Anzeige siehst, weißt nur du. Schau dir also den Java Code in deinem Portal mal genauer an und löse die Funktion ähnlich aus, wie hier gezeigt.

Ach ja: Dein Browser muss natürlich rund um die Uhr geöffnet sein, damit die Aktualisierung funktioniert. Am besten du machst das über einen Server der sowieso dauerhaft läuft. Sollte die Uhrzeit nicht synchron mit der Systemuhr laufen, dann mach einfach ein Update der Seite mit F5, beim nächstbesten Minutenwechsel. Danach klappt es wieder. 

Gruß Mr. K.

0 Punkte
Beantwortet von strauss Experte (4k Punkte)
Hi

Danke erstmal für deinen Beitrag. Ich werde das ganze mal am Wochenende in Angriff nehmen

Mfg Micha
...