Ich beobachtete diese Funktion in Facebook, wenn Sie unten rechts eine Chat-Box geöffnet haben und auf eine andere Seite gehen, sagen Sie das Profil Ihres Freundes oder eine Fotosammlung darin Facebook, die Chatbox wird nicht neu geladen, sie bleibt wo sie ist (wie in einer separaten Ebene über der Hintergrundseite).Facebook Chatbox lädt nicht zwischen den Seiten
So dachte ich natürlich, dass Facebook die Seite nicht per se neu lädt, sondern history.pushstate
und verwandte Funktionen verwendet, um den Inhalt asynchron zu laden und die URL dynamisch zu ändern (Firebug hat es bestätigt, wenn Sie auf einen Ihrer Name des Freundes und wird auf die Profilseite Ihres Freundes gebracht, es ist eigentlich eine GET
Anfrage, die gefeuert wird). Da es nicht genau so viele Seiten laden kann, kann die Chatbox einfach im Leerlauf bleiben.
Jedoch wird pushstate
nicht von IE
vor Version 10 unterstützt. Dennoch funktioniert es auch gut in IE9
. Kann mir jemand sagen, wie geht es ihnen? Verwenden sie überhaupt die API history
oder etwas anderes?
Ja, ich weiß, das kam. Aber das Problem ist, dass es für HTML4-Browser sagt, es verlässt sich auf 'onHashChange' -Funktion. Jedoch, für IE89, sehe ich klar, dass es mehrere Fälle gibt, in denen nicht nur der Hash geändert wird, sondern auch der Pfad. Auch in diesen Fällen lädt IE9 die Seite nicht neu (und somit bleibt die Chat-Box). ändert nur dynamisch die URL .. – SexyBeast
Okay, ich habe es, alle neuen Pfade fragmentiert und andere Sachen sind nach dem Hash-Zeichen hinzugefügt, was bedeutet, dass sie alle Teil des Hash sind. Recht? – SexyBeast
Richtig, ich habe es nicht getestet, aber es scheint so zu sein. Das beste Beispiel ist die mobile Version von Facebook (https://m.facebook.com/), die ein Hash-System enthält. –