2016-08-31 2 views
0

Ich bereite einfaches Digital Signage Skript vor, das eine Zeitplanung erfordert. Ich konnte es mit Javascript mit der Aktualisierung alle 15 Minuten tun. Aber meine Frage ist, wie kann ich die Zeit messen und den Inhalt auf genaue Stunde ändern, ohne die Seite zu aktualisieren?Wie man Inhalt nach exac Zeit neu lädt, ohne die Seite zu aktualisieren

Meine Seite sieht wie folgt aus:

<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<meta http-equiv="refresh" content="900" > 
<title>Signage</title> 
<style> 
body { 
    margin: 0; 
    padding: 0; 
} 
</style> 
<script> 
function src() { 
    var Day = "day.html"; 
    var Lunch = "lunch.html"; 
    var Evening = "evening.html"; 
    var Src; 

    var hour = new Date().getHours(); 
    var day = new Date().getDay(); 

    if (hour >= 10 && hour <= 13 && day >= 1 && day <=5) { 
     Src = Lunch;  
    }  

    else if (hour >= 7 && hour <= 19) { 
     Src = Day; 
      } 

    else { 
     Src = Evening; 
      } 

document.getElementById('signage').src = Src; 

} 

</script> 

</head> 
<body onLoad="src();"> 
<iframe scrolling="no" id="signage" src="about:blank" width="1920" height="1080" frameborder="0"></iframe> 

</body> 
</html> 
+0

Soll Ihre Seite alle X Minuten aktualisiert werden? Und abhängig von der Zeit wird es Tag/Mittag/Abend laden? –

+0

Ich möchte die Seite überhaupt nicht aktualisieren ... Ich möchte nur den Inhalt zur genauen Zeit ändern. – Joe

+0

Aber was ist "genaue Zeit"? Jede Sekunde ? Also, wenn es 6h59 ist, ist es Abend und dann 7h hat es sich verändert? –

Antwort

2

hinzufügen Wenn Sie Ihre Seite wollen nach einer bestimmten Zeitspanne automatisch aktualisieren, können Sie JavaScripts verwenden setInterval() Funktion.

setInterval(function() { window.location.reload(); } , timePeriod); 
+0

Ich brauche das nicht .... es ist erfrischend es selbst alle 15 Minuten. Sie können es im Meta-Tag sehen. – Joe

+0

Was Sie suchen, ist AJAX. Aber ich vermute, Sie haben diese Website nicht gehostet. Wenn Sie dies auf einem lokalen Server ausführen, können Sie dies sehr einfach mit jqeury erreichen. Aus Sicherheitsgründen können Sie mit AJAX Dateien nicht direkt aus dem Dateisystem holen. – user2507

+0

Genau ... Ich muss nur den Inhalt ändern. Die Sache ist ... wenn der Inhalt ein Video ist ... es kann nicht alle x Minuten aktualisiert werden. Also habe ich auf etwas gehofft, um die Zeit im Hintergrund zu überprüfen und wenn es um die Wechselstunde geht, wird es den Inhalt verändern. – Joe

0

Versuchen Sie diesen Code in den Kopf

<script> document.addEventListener("DOMContentLoaded", setTimeout(function() {src();}, 5000 /*5 sec*/)); </script> 
+0

Versucht ... hat nicht geholfen. – Joe

Verwandte Themen