Nur aus Neugierde frage ich mich, wie Google Mail das macht, was es macht. Wenn ich mir den Quellcode der Seite ansehe, sehe ich keine Links, Onclick-Methoden und Javascript. Ich verstehe, dass sie das Javascript ausblenden, aber trotzdem weiß die Seite, dass es einen Klick gab. Läuft ein Daemon-Thread, der auf Ihre Klicks wartet? Wie funktioniert er?
Antwort
Zu viele Anzeigen?Ein bisschen alt, aber hier ist ein Artikel, der Gmail unter der Haube erklärt: http://johnvey.com/features/gmailapi/ (siehe Abschnitt "Über die Gmail-Engine und das Protokoll")
Der für dieses Projekt wichtigste Punkt ist das, was ich als "DataPack" bezeichne, eine Basis-HTML-Datei, die nur JavaScript-Array-Deklarationen enthält, die die UI-Engine parst und dann verwendet, um zu bestimmen, was zu aktualisieren ist. Die Vorteile dieser Vorgehensweise sollten liegen auf der Hand: geringerer Datenverkehr Belastung und erhöhte Funktionalität - insbesondere für Entwickler, die nicht nicht mehr auf grobe "Screen Scraping"-Techniken zurückgreifen müssen Scraping"-Techniken zurückgreifen müssen, um Schnittstellen zu Webanwendungen zurückgreifen müssen. Obwohl die ideale Situation für externe Entwickler ein XML-basiertes DataPack wäre, ist die JavaScript-Version ist ausreichend (und ich vermute, sie wurde auch aus auch aus Leistungsgründen gewählt).
Das DataPack-Format besteht aus einzelnen "DataItems", oder JavaScript Arrays, die in eine Umschlagfunktion verpackt sind. Ein Beispiel:
D(["ts",0,50,106,0,"Inbox","fd36721220",154]);
Der Wikipedia-Eintrag bietet ebenfalls einen guten Überblick: http://en.wikipedia.org/wiki/Gmail_interface