Communicator 4.5 spielt verrückt
Uwe
- browser
0 Jens Menke0 Uwe0 Hendrik Otting0 Uwe
0 Jens Menke0 Uwe
Hallo Leute,
beim Arbeiten mit mehreren Layers innerhalb eines Frames verhält sich Netscape Communicator 4.5 völlig verrückt. Der Inhalt der Layers wird beim Laden der Hauptseite mittels
...
if (ns) document.Layer1.src = "1.htm"
if (ns) document.Layer2.src = "2.htm"
...
dynamisch aus zwei externen Dateien geladen. In diesen Dateien sind u.a. mehrere Links und entsprechende Font Eigenschaften definiert. Alles läuft wunderbar ... allerdings nur so lange, bis ich das Fenster über die Buttons in der Communicator Titelleiste verkleinere. Layer2 verschwindet urplötzlich (trotz visibility=show), die Fonts in den externen Dateien werden wild durcheinander in den unterschiedlichsten Punktgrößen dargestellt und die Links verlieren auf einmal ihre Funktion. Bei der erneuten Maximierung des Fensters stürzt der Communicator mit der Meldung
NETSCAPE caused an invalid page fault in
module NETSCAPE.EXE at 0137:004bfe46.
komplett ab und in manchen Fällen ist ein Neustart des Systems fällig.
Kann jemand von euch nachvollziehen, was hier los ist ? Ist das 'n Bug im Communicator oder liegt es an einem Fehler in meinem Javascript Code ?
Danke
Uwe
Hallo Leute,
beim Arbeiten mit mehreren Layers innerhalb eines Frames verhält sich Netscape Communicator 4.5 völlig verrückt. Der Inhalt der Layers wird beim Laden der Hauptseite mittels
...
if (ns) document.Layer1.src = "1.htm"
if (ns) document.Layer2.src = "2.htm"
...
Hi...
bei Netscape sind die anschliessenden Semikolons immer SEHR wichtig .. also
if (ns) document.Layer1.src = "1.htm";
if (ns) document.Layer2.src = "2.htm";
gerade in Zusammenhang mit CSS verabschiedet er sich
sonst sehr gerne in dieser Form..
auch in den Style-Sheet angaben umbedingt auf Semikolons
prüfen !
gruss
Jens
Hallo Jens,
schönen Dank für deinen Hinweis. Damit konnte ich schon mal die merkwürdigen Texteffekte und das Verschwinden des Layer2 beseitigen. Das Verkleinern des Browser Fensters hat allerdings immer noch einen "Invalid Page Fault" zur Folge.
Soweit ich das nachvollziehen kann, hängt der Absturz damit zusammen, daß der Inhalt von Layer2 bei Verkleinerung des Fensters auf Default (also auf den Inhalt beim erstmaligen Laden der Seite) zurückgesetzt wird. Dürfte eigentlich nicht sein, daß der Inhalt eines Layers beim Verkleinern des Browser Windows verloren geht, oder ???
Einen Absturz kann ich nur vermeiden, wenn ich nach der Verkleinerung des Fensters sofort die gesamte Seite neu lade. Strange, echt ... . Apropos: Kennst du zufälligerweise 'ne Funktion, mit der ich feststellen kann, ob das Browser Fenster seine Größe verändert ? Hab' leider nichts in SELFHTML oder sonstwo gefunden.
TIA
Uwe
Hallo Jens,
schönen Dank für deinen Hinweis. Damit konnte ich schon mal die merkwürdigen Texteffekte und das Verschwinden des Layer2 beseitigen. Das Verkleinern des Browser Fensters hat allerdings immer noch einen "Invalid Page Fault" zur Folge.
Soweit ich das nachvollziehen kann, hängt der Absturz damit zusammen, daß der Inhalt von Layer2 bei Verkleinerung des Fensters auf Default (also auf den Inhalt beim erstmaligen Laden der Seite) zurückgesetzt wird. Dürfte eigentlich nicht sein, daß der Inhalt eines Layers beim Verkleinern des Browser Windows verloren geht, oder ???
Einen Absturz kann ich nur vermeiden, wenn ich nach der Verkleinerung des Fensters sofort die gesamte Seite neu lade. Strange, echt ... . Apropos: Kennst du zufälligerweise 'ne Funktion, mit der ich feststellen kann, ob das Browser Fenster seine Größe verändert ? Hab' leider nichts in SELFHTML oder sonstwo gefunden.
TIA
Uwe
Hi
von Netscape gibts da ein workaround :
/**
* resize.js 0.3 970811
* by gary smith
* js component for "reloading page onResize"
*/
if(!window.saveInnerWidth) {
window.onresize = resize;
window.saveInnerWidth = window.innerWidth;
window.saveInnerHeight = window.innerHeight;
}
function resize() {
if (saveInnerWidth < window.innerWidth
saveInnerWidth > window.innerWidth
saveInnerHeight > window.innerHeight
saveInnerHeight < window.innerHeight )
{
window.history.go(0);
}
}
einfach nur includen dann sollte das klappen...
mfg
Hendrik
Hallo Hendrik !
Irgendwie muß ich bei meiner Recherche den ONRESIZE Befehl übersehen haben, aber genau nach diesem Script habe ich gesucht. Danke.
Uwe
Einen Absturz kann ich nur vermeiden, wenn ich nach der Verkleinerung des Fensters sofort die gesamte Seite neu lade. Strange, echt ... . Apropos: Kennst du zufälligerweise 'ne Funktion, mit der ich feststellen kann, ob das Browser Fenster seine Größe verändert ? Hab' leider nichts in SELFHTML oder sonstwo gefunden.
hm.. ich würds s machen :
function tuwas() {
irgendwlelcher code :)
}
window.onresize = tuwas;
aus irgendwlechen Gründen akzeptiert der IE nicht
window.onresize = tuwas(paramter);
also daher am besten ohne () definieren ...
Wegen der Abstürze solltest du wirklich alle Javascript
und CSS Statemenst auf Semikolons untersuchen..
am besten durch nen Validator jagen.. evtl sogar
den generierten Output von Netscape anschauen und den
mal validieren..
Ich kenne diese Abstürze zur genüge.. war immer ein
fehlendes Semikolen irgendwo :)
Als OS ist für sowas aber NT echt besser da damit
wenigstens nicht der Rechner absäuft sondern nur Netscape
terminiert wird.. :)
gruss
jens
Hi Jens,
ich werd's mal probieren. Nervig ist nur, dass man durch die proprietären Lösungen von MS und Netscape und deren mangelhafte Implementierung ständig zu einem Spagat gezwungen wird.
Man mag über MS denken wie man will, aber m.E. ist der neue IE5 dem Communicator 4.x in jeder Hinsicht überlegen. Wenn ich nicht an meine Kunden denken müßte (...), würde ich nicht mehr für Netscape Browser entwickeln.
Danke nochmal
Uwe