JavaScript, die je nach Datum und Zeit bestimmten Inhalt lädt?

...komplette Frage anzeigen

2 Antworten

    var d = new Date();
var n = d.getTime();

Das speichert in n die Millisekunden seit dem 1.1.1970.
http://www.epochconverter.com/
rechnet dir das dann freundlicherweise um und du kannst dann mit if(n < ...){...} machen, was du willst.

Die Funktion nimmt allerdings die Zeit des PCs auf dem sie ausgeführt wird. Das sollte normalerweise kein Problem darstellen, da das ab Win7 oder 8 automatisch eingestellt wird, kann aber natürlich sehr leicht mutwillig umgangen werden.

Wenn du das automatisch machen willst (also ohne neu laden der Seite) kannst du den Code oben + dein if Zeug in eine Funktion packen (z.B. update()) und diese dann mit setInterval(update, 1000) alle 1000ms = 1s (oder wie oft du willst) automatisch ausführen lassen.

Antwort bewerten Vielen Dank für Deine Bewertung

Javascript ist manipulierbar, da musst du schon php nutzen.

Die Methode

date( 'Y:m:d H:i:s' );

Erzeugt in php folgende Ausgabe, wenn man vom heutigen Datum 20 Uhr ausgeht:

2015:12:26 20:00:00

Jetzt bräuchtest du nur eine Fallunterscheidung, Templates für deinen Inhalt und dann hättest du deine gewünschte Lösung...

Antwort bewerten Vielen Dank für Deine Bewertung
yankor 26.12.2015, 20:00

Danke, aber angenommen jemand ruft die Seite um 17:50 Uhr auf soll es trotzdem, ohne, dass die Seite neu geladen wird automatisch geändert werden!

0
RedKungFuMastr 26.12.2015, 20:04
@yankor

Deswegen die Fallunterscheidung und das Template. Du hast nehmen wir an 2 Templates. Eines Für den Inhalt vor dem Datum, eines mit dem Inhalt ab dem Datum.

Falls der Fall zutrifft, an dem das Datum und die Uhrzeit überschritten werden (Methode in eine Variable packen, dann in eine Zahl umwandeln -> (int) $var <= das gleiche wie parseInt(var) in Javascript), dann kannst du das Template wechseln.

1
RedKungFuMastr 26.12.2015, 20:09
@yankor

Ohne neuzuladen, ok, dann must du halt ajax mitbenutzen. Über Javascript kannst du einen PHP-Script ausführen, der dir dann sagt, ob der Fall zugetroffen ist, oder nicht. Ist der Fall zugetroffen, sendet dir das PHP-Script das Template mit dem Inhalt ab dem Datum.

Damit gecheckt wird, ob die aktuell geladene Seite gerdade im Zeitstempel ist, musst du setInterval nutzen für dein AJAX-Request. Am besten so alle 5 bis 10 Sekunden... Traffic ist wertvoll :P

1
yankor 26.12.2015, 20:10
@RedKungFuMastr

achso, hatte nämlich jetzt gedacht, dass ich es nur mit PHP umsetzen müsse, aber PHP wird ja Serverseitig ausgeführt ^^

0
RedKungFuMastr 26.12.2015, 20:12
@yankor

Ja, php ist serverseitig :D

Ajax ist die Schnittstelle zum Server, damit die Seite nicht neugeladen werden muss sondern nur der Inhalt.

1
yankor 26.12.2015, 20:13
@RedKungFuMastr

Ajax? Mal gehört aber kein Plan was das genau ist oder wie das funktioniert :D

0
RedKungFuMastr 26.12.2015, 20:16
@yankor

Lad dir jQuery runter, damit gehts am einfachsten. Da hast du die Methoden .ajax, .get und .post

Am besten für den Anfang wählst du .ajax ^^, ansonsten ist die Dokumentation von jQuery sehr ordentlich.

Falls du nicht weiterkommst, hier eine Seite, die das etwas praktischer erklärt:

http://www.w3schools.com/jquery/ajax\_ajax.asp

1

Was möchtest Du wissen?