Globale Variablen
Eller
- javascript
Habe das Problem, dass eine globale Variable nur solange "da" ist, wie das aktuelle Dokument geöffnet ist. Nach Link zu einer anderen html-Seite ist die Variable "wertlos".
Gibt's da 'nen Trick, eine Variable global solange zu behalten wie der Brwoser geöffnet ist?
Danke.
hiho
Habe das Problem, dass eine globale Variable nur solange "da" ist, wie das aktuelle Dokument geöffnet ist.
Nach Link zu einer anderen html-Seite ist die Variable "wertlos".
das ist sinn der sache, bzw. auch nicht anders zu erwarten. bei php musst du variablen auch aktiv weitergeben, sonst stehen sie im nächsten dokument auch nciht zur verfügung.
Gibt's da 'nen Trick, eine Variable global solange zu behalten wie der Brwoser geöffnet ist?
ich benutze dazu manchmal einen null-frame. sprich ein frameset mit 2 teilen, der eine bekommt "100%", der andere "0" (also nicht zu sehen). in dem 0er lege ich eine einfache datei und speichere alle variablen, die ich websiten-weit brauche dort ab. dabei hat sich die verwendung von formularen als bessere alternative als reine js-variablen ergeben - denn in vielen browsern wird auch nach einer manuellen aktualisierung der 100%-seite nicht der gesamte frame neu geladen, sodass die variablen-inhalte also auch noch nach drücken der F5-taste da sind.
gruß hein
Hi,
mhmmm... Mir fallen vier Möglichkeiten ein.
1. Ein Frameset verwenden und in einem bestimmten Frame (der sich von Seite zu Seite nicht ändert) die Variablen ablegen. Zugriff ist aus jedem Frame jederzeit möglich.
2. URL-Parameter, d.h. bei Link auf andere Seite z.B. index.html?var=wert angeben und diesen per Javascript lesen/verarbeiten
3. Die Daten in einem Cookie puffern
4. Servereitige Techniken verwenden, wobei die Daten z.B. mit PHP in einer temporären Datei auf dem Server gespeichert werden könnten (Vorsicht beim Dateinamen, hier eindeutige Zufallwerte nehmen). Besser und sicherer ist das über die eingebauten Session-Funktionen möglich.
MfG
Danny
mhmmm... Mir fallen vier Möglichkeiten ein.
Es gibt noch eine fünfte ;-)
Ein Frameset verwenden und in einem bestimmten Frame (der sich von Seite zu Seite nicht ändert) die Variablen ablegen. Zugriff ist aus jedem Frame jederzeit möglich.
URL-Parameter, d.h. bei Link auf andere Seite z.B. index.html?var=wert angeben und diesen per Javascript lesen/verarbeiten
Die Daten in einem Cookie puffern
Servereitige Techniken verwenden, wobei die Daten z.B. mit PHP in einer temporären Datei auf dem Server gespeichert werden könnten (Vorsicht beim Dateinamen, hier eindeutige Zufallwerte nehmen). Besser und sicherer ist das über die eingebauten Session-Funktionen möglich.
5. du kannst die Variabel in window.name speichern, das geht aber nur bei Zahlen und Strings (und diese müssen escaped werden, da sie einige Zeichen nicht enthalten dürfen)
Struppi.
Hi Struppi,
hab auch davon gelesen, stand mal in der Zeitschrift Internet Intern. Hatte ich schon vergessen ;)
MfG
Ein Frameset verwenden und in einem bestimmten Frame (der sich von Seite zu Seite nicht ändert) die Variablen ablegen. Zugriff ist aus jedem Frame jederzeit möglich.
URL-Parameter, d.h. bei Link auf andere Seite z.B. index.html?var=wert angeben und diesen per Javascript lesen/verarbeiten
Tut mir Leid, aber irgendwie bekomme ich bei beiden Möglichkeiten es nicht hin, dass die Variable ihren Wert behält. Muss ich die Variable z:b. bei Lösung 1 besonders ansprechen ausser mit ihrem normalen Namen (irgendwas mit document.xyz.varname) ???
Danke für eure Hilfe.
Ein Frameset verwenden und in einem bestimmten Frame (der sich von Seite zu Seite nicht ändert) die Variablen ablegen. Zugriff ist aus jedem Frame jederzeit möglich.
URL-Parameter, d.h. bei Link auf andere Seite z.B. index.html?var=wert angeben und diesen per Javascript lesen/verarbeiten
Tut mir Leid, aber irgendwie bekomme ich bei beiden Möglichkeiten es nicht hin, dass die Variable ihren Wert behält. Muss ich die Variable z:b. bei Lösung 1 besonders ansprechen ausser mit ihrem normalen Namen (irgendwas mit document.xyz.varname) ???
ja, du musst natürlich in dem Frame auf die Variabel zugreifen. sowas in der Art parent.frameName.varName
Struppi.
Gibt's da 'nen Trick, eine Variable global solange zu behalten wie der Brwoser geöffnet ist?
Danke.
Einen Miniframe setzen und in die HTML-Seite dieses Frames ein Formular einrichten. Hierhin dann die Variablenwerte übertragen. Beispiel:
<frameset rows="*,1" border=0 frameborder="no">
<frame name="main" src="eigentlicheseite.html" title="Der eigentliche Inhalt.">
<frame name="speicher" src="miniframe.html" title="Dieser Frame dient als Zwischenspeicher." marginheight="0" scrolling="no" frameborder="no" noresize>
</frameset>
Maike