2012-04-03 7 views
1

Kann mir jemand eine Richtung geben, ich möchte wissen, wie man automatische Updateseiten wie facebook für neue Statusupdates, neue Likes etc. macht. Dh wenn Sie einen Status in einem Fenster geöffnet haben und ein Benutzer auf "Gefällt mir" klickt , erscheint die +1 wie automatisch.Javascript Auto-Update-Seite?

Vielen Dank im Voraus.

+0

Ihre Frage ist wirklich vage ... Als allgemeiner Zeiger könnten Sie ein Mediatormuster in Javascript verwenden, um Ereignisse zu veröffentlichen und zu abonnieren. Verwenden Sie dann ajax, um den neuen Inhalt und JavaScript erneut zu erhalten, um das DOM zu aktualisieren. –

Antwort

3

Dies geschieht mit einem PUSH-Modell (subscribe/publish).

Die Clientseite abonniert zunächst eine AJAX-Anforderung. Diese AJAX-Anfrage bleibt unbegrenzt am Leben. Wenn der Server einen neuen Like/Kommentar erhält, veröffentlicht er dieses Update auf der Clientseite und beendet damit die AJAX-Anfrage. Der Client erhält dieses Update und gibt keine weitere AJAX-Anfrage aus.

Es ist weitgehend als Comet kategorisiert.

Einmal hatte ich eine Comet-Web-Chat-Anwendung implementiert und eine etwas technische Beschreibung geschrieben, was hineinging. Sie können es hier lesen, wenn Sie interessiert sind.

Comet Web Chat Application

Edit:

Ein Herzschlag-Mechanismus (PULL-Modell) ist auf jeden Fall einfacher zu implementieren, aber ein Push-Modell ist wesentlich effizienter.

+0

+1 für die Kometenreferenz! –

+0

Für die einfache Implementierung, checken Sie SignalR in .net oder socket.io mit fast allem anderen! –

+0

Und WebSockets sind wahrscheinlich einen Besuch wert. –

0

Sie werden AJAX verwenden müssen, das ist ein Weg, um mit der Datenbank zu kommunizieren, ohne die Webseite neu zu laden: Sie zum Beispiel die $ ajax Funktion von jQuery Framework verwenden: here's the doc

0

im Code nicht veröffentlichen, aber hier ist ein kurzer Überblick über was Sie vielleicht tun wollen:

  1. haben das „wie“ Bild
  2. ein Skript erstellen, das einen Click-Handler, um das Bild, bindet.
  3. einmal angeklickt, das Skript einen AJAX-Request an den Server sendet, die die wie
  4. , wenn diese Anforderung erfolgreich ist, gibt Daten an das Skript zu erhöhen, dass es ein Erfolg war. Vielleicht möchten Sie auch die Anzahl der Likes und so weiter.
  5. Sobald das Skript den Erfolg kennt, ändern Sie Ihr "Gefällt mir" -Bild.

wie zum Zählen mag, naja, es liegt an Ihnen. Für eine sehr breite Frage ist dies eine breite Antwort, die Sie auf den richtigen Weg weisen wird.

Verwandte Themen