document.write funzt unter NS nicht...

webpat

Mitglied
Moin!
Ich hab ein nerviges Problem unter Netscape; es handelt sich um ein längeres Skript, aber ich kann den Fehler genau lokalisieren:

...
1: outputvar="<layer name=\"k"+egal.toString()+"\" style=\"position:absolute;left:0px; top:0px; z-index:1;\">*</layer>";
2: document.writeln(outputvar);
...

diese beiden Zeilen bringen Netscape (4.75) aus dem Konzept und ich finde keine genaue Ursache....

Wenn ich die Variable "outputvar" durch einen anderen String austausche, dann macht NS nicht derartige Probleme....

Ich vermute also, dass die Layer Probs bereiten...

Kennt jemand das Problem und weiß Rat?


Wer das ganze Skript haben will:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Test</title>
<script type="text/javascript">
<!--
var anzk = 15; // hier Anzahl eingeben
var kGeschw = 12; // je größer, desto schneller
if (navigator.appName == 'Netscape' || navigator.appName == 'Mozilla' && document.layers != null)
{
for (egal=0;egal<anzk;egal++) {
// outputvar="<layer name='k"+egal.toString()+"' style='position:absolute;left:0px; top:0px; z-index:1;'>*</layer>";
outputvar="<layer name=\"k"+egal.toString()+"\" style=\"position:absolute;left:0px; top:0px; z-index:1;\">*</layer>";
// alert(outputvar);
document.writeln(outputvar);
}
}
else if (document.all != null) {
for (egal=0;egal<anzk;egal++) {
document.writeln("<div id='k"+egal+"' STYLE='position:absolute; left:0px; top:0px; z-index:1;'><img src='s.gif'></div>");
}
}
var kstX = 400, kstY = 400;
var kRadius = 170 ;
var kRadiusv = kRadius;
var kreis = new Array(anzk);
var kGrad = new Array(anzk);
var kGradstart = new Array(anzk);
var stepsgrad=0;
var $dirch=1;

function Init() {
for (counta=0; counta<anzk; counta++)
{
stepsgrad=360/anzk;
mulconmst=Math.PI/(180);

kGrad[counta]=stepsgrad*counta*mulconmst;
kGradstart[counta]=kGrad[counta];
strkplusv= "k"+ counta;

if (document.all != null) {
kreis[counta] = eval(document.getElementById(strkplusv));}
}
kmove();
}

function kmove() {
for (countc=0; countc<anzk; countc++)
{
kRadiusv= kRadius+1*kRadius*Math.cos(kGrad[0]);
// kreis[countc].style.fontSize=kRadiusv*0.3+"pt";
// kreis[countc].style.fontSize=25;
strkplusv2= "k"+ countc;
kGrad[countc] = kGrad[countc]+ kGeschw/1000;
vergl=kGradstart[countc]+360;
if (kGrad[countc] > vergl) kGrad[countc] = kGradstart[countc];

if (navigator.appName == 'Netscape' || navigator.appName == 'Mozilla' && document.layers != null) {

document.layers[countc].pageY = Math.round(kstY + (kRadiusv * $dirch * Math.cos(kGrad[countc])));
document.layers[countc].pageX = Math.round(kstX + (kRadiusv * 1 * Math.sin(kGrad[countc])));


} else if (document.all != null) {
kreis[countc].style.top = Math.round(kstY + (kRadiusv * $dirch * Math.cos(kGrad[countc])));
kreis[countc].style.left = Math.round(kstX + (kRadiusv * 1 * Math.sin(kGrad[countc])));
}
}
window.setTimeout("kmove()",100/kGeschw);
}
function chdir() {
$dirch=-1*$dirch;
}
//-->
</script>
</head><body bgcolor="#eeeeee" onLoad="Init()"></body>
<a href="javascript: chdir();">Richtung wechseln...</a></html>

Läuft unter IE ganz gut...
... man braucht nur ein s.gif im selben Verzeichnis
 
Hi,

ich hab auf meinem Rechner hier keinen NN 4.x zum Testen installiert, aber wie sieht die Sache denn evtl. aus, wenn du mal die Stylesheet-Angaben probehalber weglässt?

Und worin besteht überhaupt deine Fehler:
Scriptfehler, Darstellungsfehler, Laufzeitfehler, ... ?

Geist
 
Danke :)

Es lag tatsächlich daran. Ohne Stylesheetangaben läuft das Script wunderbar - sie waren eh überflüssig *g*....

Der Fehelr äußerte sich darin, dass Netscape ständig am Laden ist, aber nix anzeigt. Genaugenommen bleibt Netscape total hängen, so dass man auch nach Beenden von Netscape keine Seiten mehr anzeigen kann - der Netscape-Prozess muss komplett aus dem Speicher entfernt werden, dann kann man wieder Seiten betrachten!

Danke für die Hilfe!

Ich möchte an dieser Stelle aber kurz meinen Hass gegen Netscape aussprechen... Mir würde Javascript viel mehr Spaß bringen, wenn man nicht ständig an Netscape denken müsste...

und ciao.
 

Neue Beiträge

Zurück