• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] javascript storage

Normal

New member
Hallo zusammen,

ich hätte da folgendes Problem.

Ich möchte auf einer Seite js-variablen speichern und diese dann in einem iframe benutzen.

Dafür möchte ich folgende methode verwenden: http://aktuell.de.selfhtml.org/artikel/javascript/wertuebergabe/#windowname

mein code sieht wie folgt aus:

HTML:
<html>....
<body>
<script type="text/javascript" src="storage.js"></script>
<script type="text/javascript">
var wert1 = "1";
var wert2 = "2";
storage.set("werte1", wert1 );
storage.set("werte2", wert2 );
</script>

<script type="text/javascript">
var liste = storage.getAll();
</script>

// hier werden alle werte zum test angezeigt und es funktioniert
<script type="text/javascript">
                for (var eigenschaft in liste) {
                  document.write(
                    "<tr><td>" + eigenschaft + "</td>" +
                    "<td><code>" + liste[eigenschaft] + "</code></td></tr>"
                  );
                }
                </script>

// nun möchte ich im folgenden iframe darauf zugreifen
<iframe src="content.php" width="100%" marginwidth="0" frameborder="0" style = "overflow: hidden;" name="test"></iframe>
</body></html>

hier der code vom iframe

HTML:
<html>....
<body>
<script type="text/javascript" src="storage.js"></script>


<script type="text/javascript">
var liste = storage.getAll();
</script>

// hier werden die werte nicht angezeigt
<script type="text/javascript">
                for (var eigenschaft in liste) {
                  document.write(
                    "<tr><td>" + eigenschaft + "</td>" +
                    "<td><code>" + liste[eigenschaft] + "</code></td></tr>"
                  );
                }
                </script>


</body></html>

Alle dateien liegen im selben Ordner.

Ich komme echt nicht drauf warum es auf der ersten seite funktioniert und im iframe nicht.

Hoffe es kann mit jemand ein Tipp geben.

Danke und mfg
 
Zuletzt bearbeitet:
Darf ich fragen, warum du das mit einem IFrame machen willst? (Diese alten Dinger sollte man heute nicht mehr verwenden. Meistens gibt es andere Möglichkeiten.)

Mir fehlen hier weitere Infos, um dir weiterhelfen zu können. Bekommst du JS-Fehler? Was ist/steht in content.php? Was ist/steht in storage.js?
 
@rico: iframes werden schon noch recht häufig verwendet...

@Normal: die Sachen werden im "Namen" des Fensters gespeichert und im iFrame hast du ein anderes Fenster - das vom iFrame. Deswegen kann der Ansatz nicht so wirklich gut funktionieren. Aber wenn die SOP nicht dagegen spricht (und in deinem Beispiel tut sie das nicht) kannst du über parent.wert1 direkt auf die Variablen zugreifen.

PS: document.write() erzeugt mehr Probleme als es löst. Verwende lieber .innerHTML oder die DOM-Methoden um etwas im HTML auszugeben.
PPS: globale Variablen sind jetzt auch nicht gut. Meistens gibt es Lösungen ohne globale Variablen, die dann viel leichter zu warten sind und nicht so schnell seltsame Fehler erzeugen. V.A. wenn die globalen Variablen so unaussagekräftige Namen wie "wert1" oder "wert2" haben...
PPPS: du solltest eine DocType verwenden. Macht dir das Leben um einiges einfacher.
 
Zurück
Oben