hilfdirselbst.ch
Facebook Twitter gamper-media
"Funktioniert nicht" ist keine hinreichende Fehlerbeschreibung.
Anonym
Beiträge: 22827
28. Mär 2003, 21:16
Beitrag #1 von 2
Bewertung:
(389 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

writeln löscht nicht


Hallo

Habe ein Problem mit einer Seite, auf der 3
Frames vorhanden sind. Im oberen Frame ist eine
Navigations-Leiste eingebaut (HTML). Aus dem 1.
unteren Frame heraus möchte ich mit writeln die
Navigations-Leiste resp. das Erscheinungsbild
interaktiv ändern. Dabei wird der gesamte
Inhalt des Nav-Frames gelöscht. Dies ist völlig in meinem Sinne!! ABER: Wenn ich nun aus dem 2.
unteren Frame heraus auch noch die Leiste ändern möchte, wird der Inhalt der HTML-Datei nicht mehr gelöscht, sondern die weiteren Zeilen des
writeln-Befehls dem bereits bestehenden Code
hinzugefügt. Wie kann ich bewirken, dass auch
das 2. Frame den Inhalt des Nav-Frames löscht?

Danke für eure Hilfe!! Top
 
X
Miro Dietiker
Beiträge: 699
28. Mär 2003, 23:42
Beitrag #2 von 2
Beitrag ID: #29703
Bewertung:
(389 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

writeln löscht nicht


Folgendes dazu:
Wird eine Seite geöffnet, so ist sie im Speicher wie eine Datei
(Datei-Schreibzugriff) offen und repräsentiert ein Stream.

Man kann nun in das Selbe Dokument beliebig mittel write() oder
writeln() weiterne Inhalt hinzufügen. Jeder aufruf bezieht sich
auf das selbe Dokument (document.write() sowie document.writeln())
und generiert kein neues "einfachso"

Man kann aber den Stream abschliessen document.close() und einen
neuen öffnen mit document.open() wodurch im Selben Fenster quasi
durch Javascript ein komplett neues HTML-File eingeleitet wird.

Dein Problem wird lösen:

<script type="text/javascript">
<!--
document.close();
document.open();
document.writeln(meinbeliebigerinhalt);
//-->
</script>

Je nach dem ist das explizite close vor dem open nicht nötig und
ein direkter Aufruf von open() öffnet direkt ein neuen stream.

Hoffe es wirkt :)

GrEeZ: Miro Dietiker
als Antwort auf: [#29699] Top