Was macht document.open/.write wircklich?
Jörg
- javascript
0 Cheatah
Wenn ich nach einem document.open('text/html') im Venkman/Mozilla(JS Debugger) nachsehe, sind html und head im DOM schon vorhanden. Ist document.write nur dazu da, um in den <body> eines docs zu schreiben?
Ich wollte mit document.write nämlich auch einen <link> im <head> auf ein externes stylesheet machen. Somit habe ich die tags für eine neue Seite rausgeschrieben(beginnend bei <html> inklusive <body> inhalt), doch Venkman/Mozilla haben im body teil des doc danach dort eine "null". Die error message im Venkman notiert "Missing ; before statement". Im Endeffekt(nach js ausführung) jedoch wird dann aber doch das gewünschte hinausgeschrieben. Ende gut, nicht alles gut - weil ich während der js ausführung noch nach einem tag im rausgeschriebenen body suchen und dort was verändern will - was wegen "body == null" natürlich keinen erfolg hat(wird auch durch einen Eintrag in der JS Console/Mozilla ohne Venkman bestätigt). Schreibe ich aber nur den code der in den body gehört, ist der body noch während des schreibens DOMisiert und alles läuft wunderbar.
p.s. wenn ich im doc.write den css link auf eine nicht exisitierende Datei lenke, sehe ich am Venkman dass einige der darauf folgende js Zeilen übersprungen werden - was macht der mozilla in solchen fällen?
p.s. wenn ich im <link> das href attribut komplett weglasse, funkt alles ohne Diskussion.
p.s. glaube langsam, daß das mehr ein Thema für den Mozilla Bugzilla ist...
Hi,
Wenn ich nach einem document.open('text/html') im Venkman/Mozilla(JS Debugger) nachsehe, sind html und head im DOM schon vorhanden.
kein Wunder: Deren Start- und Endtags sind bei HTML optional. Wenn Du eine Tabelle erzeugst, wird auch automatisch ein <tbody> da sein (wenn auch vielleicht nicht sofort).
Ist document.write nur dazu da, um in den <body> eines docs zu schreiben?
Nein. document.write() ist dazu da, ins Dokument zu schreiben.
Die error message im Venkman notiert "Missing ; before statement".
Dann hast Du einen JavaScript-Fehler. Vermutlich fehlt ein Zeilenumbruch.
p.s. wenn ich im doc.write den css link auf eine nicht exisitierende Datei lenke, sehe ich am Venkman dass einige der darauf folgende js Zeilen übersprungen werden - was macht der mozilla in solchen fällen?
Hm?
Cheatah