Frage

In der Vergangenheit, als ich Ereignisse abgedeckt habe, habe ich eine Meta-Refresh mit einem 5-Minuten-Timer verwendet, um die Seite zu aktualisieren, damit die Menschen die neuesten Updates haben.

Die Erkenntnis, dass dies nicht der perfekte Weg sein kann, es zu tun (funktioniert nicht immer in IE, unterbricht eine Fluss Person, Neustarts Dinge für Menschen mit Screenreadern, etc.) Ich frage mich, ob es eine andere Möglichkeit ist zu Sie behandeln diese Situation.

Ist es möglich, so etwas wie Ajax haben alle paar Minuten überprüfen, ob die HTML-Datei auf dem Server neuer ist und haben sie eine Nachricht drucken sagen „Update Info verfügbar, klicken Sie hier, um die refresh“?

Wenn das ist verrückt, wie über einen Javascript, dass nur zählt von 5 Minuten und schlägt nur eine Auffrischung.

Wenn jemand mich zu Tutorials oder Code-Schnipsel zeigen könnte ich würde schätzen. Ich spiele nur einen Programmierer im Fernsehen. : -)

War es hilfreich?

Lösung

setInterval(function() {
  if (confirm("Its Been 5 Minutes. Would you like to refresh")) {
    window.location.reload(true);
    //Or instead of refreshing the page you could make an ajax call and determing if a newer page exists.  IF one does then reload.

  }
}, 300000);

Andere Tipps

Eigentlich Ihre Gedanken auf einem schnellen Ajax-Test ist eine ausgezeichnete Idee. Ich bin nicht sicher, dass ist genau das, was Stackoverflow Anwendungen, aber es überprüft in regelmäßigen Abständen, um zu sehen, ob andere Antworten haben die Benutzer geschrieben und zeigt worden ist, auf einem Intervall, wenn es Updates.

Ich denke, das ist ideal für diese Gründe:

  • Es ist unaufdringlich - der Leser leicht das Update ignorieren können, wenn sie sich nicht
  • Es wird nicht verschwenden Bandbreite - ohne Nachladen es sei denn, der Benutzer wählt auf
  • Es ist informativ -. Der Benutzer weiß, dass es ein Update und kann wählen, danach zu handeln

Mein Nehmen auf, wie - haben die Ajax-Skript abzuschicken die neueste Post-ID zu einem Skript, das prüft, ob neuen Skripte. Dieses Skript kann Ihre Datenbank zu sehen abfragen, ob es irgendwelche neuen Beiträge sind, und wie viele es sind. Es kann diese Zahl zurück. Wenn neue Beiträge sind, zeigen einige (nicht modal) Nachricht, die die Anzahl der Updates, und lassen den Benutzer entscheiden, was zu tun ist.

Sie können die setInterval Funktion in Javascript.

Hier ist ein Beispiel

setInterval("refresh function", milliseconds, lang);

Sie werden es verwenden, um einen Namen an eine Funktion, die tatsächlich die Seite zur ersten param neu geladen und die Anzahl der Millisekunden zwischen Refresh für den zweiten param (300000 für 5 Minuten). Der dritte Parameter lang ist optional

Wenn der Benutzer mit den Noten interagieren würde, und klicken Sie auf die Dinge wäre es ein wenig unhöflich sein, nur die Seite, auf sie zu aktualisieren. Ich denke, so etwas wie eine Benachrichtigung zu tun, dass die Seite wäre ideal, aktualisiert wurde.

würde ich jQuery verwenden und tun einen Ajax-Aufruf in die Datei auf dem Server oder etwas, das die aktualisierten Daten zurückgibt. Wenn es neuer als erbrechen einer Growl Nachricht

Gritter - jQuery Growl-System Demo von dem, was ein Knurren wird mit Gritter

Ein Growl Nachricht möglicherweise würde kommen mit dem, was geändert wurde, neue Partituren und dann eine Option, innerhalb dieser Nachricht zu aktualisieren und sieht die neuen Ergebnisse.

jQuery Ajax Informationen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top