Mozilla und document.body.offsetWidth

Moin.

Folgendes Problem bringt mich um meine Montagsruhe:

Das Script

**<!–
var screensize;

if (document.body.offsetWidth)
{
screensize=document.body.offsetWidth;
document.write(„Ich kenne es!<p>“);
}
else
{
screensize=screen.width;
document.write(„Ich kenne es nicht!<p>“);
}

document.write(document.body.offsetWidth+"<br>");
if(document.body.offsetWidth)
document.write(„Ich kenne es!<p>“);
else
document.write(„Ich kenne es nicht!&lt:stuck_out_tongue_winking_eye:>“);
//–>**

bringt folgende drollige Ausgabe:

**Ich kenne es nicht!

708
Ich kenne es!**
(Die Zahl ist dabei unerheblich)

Habe ich irgendetwas übersehen, oder hat Mozilla da einen Spleen, und kennt document.body.offsetWidth mal, und mal kennt es das nicht?
Der Internet Explorer arbeitet mit diesem Script fehlerfrei.

Mozilla in der Version 1.3 / Windows 2000

Für Ideen stets dankbar

Leo

scheint ein laufzeit-problem zu sein.

getestet:

dein code

Fehler: document.body has no properties
Ausgabe:

dein code

Fehler:
Ausgabe:
Ich kenne es!

831
Ich kenne es!

ds problem kommt daher, dass js-interpreter und html-interpreter ncht notwendigerweise gleichzeitig alles itnerpretiert haben, und die notwendigen objekte nicht notwendigerweise da sein muessen, wenn der js-interpreter sie gern haette.

loesung: packe deinen code in eine funktion und rufe sie body.onload auf.
manche leute loesen das auch euber einent imeout, was ich aber fuer unsauber halte.