2009-06-19 7 views
7

Ich habe mich gefragt, ob die JavaScript-Objekte über Seiten gehalten werden? Sieht aus wie einige Browser und einige nicht. Was ist das Standardverhalten?Sind JavaScript-Objekte auf Seiten gespeichert?

Danke, Ebe

+0

Sie sollten nicht beibehalten werden, es ist kein normales Browserverhalten. – rogeriopvl

+0

Als eine interessante Nebensache, wie denken Sie alle, dass sich das Programmiermodell für RIAs ändern würde, wenn dieses Verhalten in Browsern implementiert würde? (Zumindest den Status pro Domäne beibehalten und löschen, sobald ein Benutzer weggeblättert hat) –

+1

Etwas ähnliches Verhalten kommt in HTML 5 vor, das eine lokale Speicher-API hat (so ziemlich eine relationale Datenbank im Browser). Einige Browser unterstützen diese API bereits (ich kenne die neuesten Versionen von Safari und Firefox) – jimr

Antwort

2

nie ein solches Verhalten gesehen. Soweit ich weiß - gibt es keine Browser, die das tun.

9

Nein, beim Seitenwechsel gehen alle Objekte verloren.

Allerdings gibt es einen interessanten Hack, den Sie mit window.name machen können. Der Wert window.name bleibt so lange erhalten, wie das aktuelle Fenster geöffnet ist, sodass Sie Daten vorübergehend speichern und von Seite zu Seite darauf zugreifen können. Diese Daten sind jedoch von jeder Seite, die dieses Fenster verwendet, zugänglich (und überschreibbar), daher ist es kein sicherer oder zuverlässiger Speicher.

Weitere Informationen finden Sie unter http://www.thomasfrank.se/sessionvars.html.

-2

Einige Webbrowser wie Safari cachen den kompilierten JavaScript-Code. Der Status sollte jedoch nicht für alle Seiten geladen werden, die unter einem Browser geladen werden.

+0

Wie beantwortet das die q? –

2

Browser cachen Skriptdateien, aber der Umfang von JavaScript-Objekten beschränkt sich auf die Seite, in die die Skriptdatei geladen wird. Wenn Sie also zu einer anderen Seite mit demselben Skript navigieren, werden die Objekte neu erstellt, aber nicht haben notwendigerweise den gleichen Zustand wie auf der vorherigen Seite.

+0

Okay, also sag ich habe eine Seite, die ein Objekt mit einigen Daten darin erstellt. Der Benutzer wird zu einer anderen Webseite navigiert. Welche Methoden stehen zur Verfügung, um diese Daten abzurufen? –

Verwandte Themen