document.write() und Netscape... ARRRG
Falk Pauser
- javascript
hi leute!
schaut euch bitte mal diesen quelltext an, der im explorer
ohne probleme funktioniert:
1. index.html
->
---------------------------------------------------------------------
<html>
<head>
<title>test</title>
<script language="javascript1.2" src="scripts/index.js" type="text/javascript"></script>
</head>
<body onLoad="loader()"></body>
</html>
---------------------------------------------------------------------
2. scripts/index.js
->
---------------------------------------------------------------------
function loader()
{
alert("loader");
document.open("text/html");
document.write("<html><head><title>test1</title><script language='javascript1.2' src='scripts/index1.js' type='text/javascript'></script></head><body onLoad='loader1()'></body></html>");
document.close();
}
---------------------------------------------------------------------
3. script/index1.js
->
---------------------------------------------------------------------
function loader1()
{
alert("loader1");
}
---------------------------------------------------------------------
was das alles soll ist eigentlich ziemlich klar - die erste datei verweist auf eine externe js-datei und ruft die einzige enthaltene
function via onload auf. diese function schreibt mittels document.write eine neue datei, die wiederum auf eine externe js-datei verweist (index1.js) und ebenfalls via onload die einthaltene function aufruft - als ergebnis hat man dann den zuerst den alert der ersten function (...loader..) und dann den der zweiten (...loader1...) - ie macht das, und der quelltext sieht auch dementsprechend aus - nur netscape macht es einfach nicht - nach dem ersten alert kommt der fehler - und im quelltext wird auch schnell klar woran es liegt - netscape lässt einfach den script-teil im head raus, so dass die onload-function (loader1) natürlich nicht gefunden werden kann... *hmpf* -> ich hab' auch schon den schliessenden slash via backslash ausdokumentiert - hat nix gebracht. auch der hinweis, z.b. document.write("...</scr");document.write("ipt>"); zu verwenden hat nix gebracht - wer weiss weiter?? der quelltext kann ohne weiteres via cut-and-paste getestet werden... ich wäre euch seeeehr verbunden für eure anregungen!!
danke - falk