hi,
Meine Seite besteht aus 2 Frames:
- Im ersten verändert sich gelegentlich ein Wert (ich kann aber nicht den Quelltext der dort erscheinenden Seite verändern).
- Im zweiten Frame soll dieser Wert alleine stehen und aktualisiert werden, wenn er sich im ersten Frame wieder geändert hat.
Liegen beide Frames und das Frameset unterhalb der selben Domain?
Mit parent.frames[0].document.body.innerHTML ist es möglich, vom zweiten Frame auf den ersten Frame zuzugreifen. Dieser Befehl nimmt den Quelltext des ersten Frames. Der Quelltext wird dann in meinem Skript SKRIPTNAME() bis auf den bestimmten einzelnen Wert gekürzt. Dieser Wert wird dann in einer Variablen gespeichert. SKRIPTNAME() gibt am Ende mit return die Variable wieder.
Dies passiert alles in welchem Frame - im zweiten?
Ich denke, der Trick liegt nun darin, einfach das Skript regelmäßig zu aktualisieren, z.B. jede Sekunde. Mit window.setInterval("SKRIPTNAME()", 1000); funktioniert das aber nicht ganz.
Damit dürfte, sofern SKRIPTNAME() (du meinst FUNKTIONSNAME()?) wie beschrieben funktion, jede Sekunde der Wert erneut ausgelesen und zurückgegeben werden - aber angezeigt wird er dadurch natürlich noch nicht.
Mit einem erneuten <script type="text/javascript">document.write(SKRIPTNAME());</script> an beliebiger Stelle im HTML-Quelltext geht das auch nur mit dem IE beim Laden der Seite, und die Variable wird immer noch nicht aktualisiert. Müsste ich für dieses document.write auch noch ein ein SetInterval setzen?
Nein. document.write, nach dem Laden des Dokumentes aufgerufen, ersetzt das bestehende Dokument - und damit sind auch dein Zeitintervall und deine Funktion "weg".
Stelle den Wert auf eine andere Weise dar - bspw. in dem du ihn in die data-Eigenschaft eines Textknotens schreibst.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }