KD-one: Seltsamer Js-Fehler auf meiner Seite...

Beitrag lesen

Hallo an alle,

Wenn der Link "Gästebuch gewählt wird, tritt im IE 6, im Opera 7.2 und Mozilla 1.5 folgende Fehlermeldung auf:

IE:

Zeile 64:
Fehler:'document.all[...].style ist null oder kein Objekt'
Der MS-Debugger markiert eine Zeile in der das Script hide_it()[onMouseOut] auf dieser Seite zum 4.male!!! (bei divMenu2) aufgerufen wird. ein für mich unverständlicher Vorgang.
Syntaktisch ist alles in Ordnung, ich habe das Script x-mal kontrolliert, sowie auch den Aufruf.

Opera:

Event thread: onmouseover
Error:
name: TypeError
message: Statement on line 62: Expression evaluated to null or undefined and is not convertible to Object: document.getElementById(id)
Backtrace:
  Line 62 of linked script http://faq.united-web.at/_test/scripte/faq.js
    document.getElementById(id).style.visibility = "hidden";
  In unknown script
    hide_it("divMenu1");
  Line 74 of linked script http://faq.united-web.at/_test/scripte/faq.js
    eval("hide_it('divMenu" + cnt[i] + "');");
  In unknown script
    clean(1, 2, 3, 5);
  At unknown location
    {event handler trampoline}

Mozilla 1.5

Fehler: document.getElementById(id) has no properties
Quelldatei: http://faq.united-web.at/_test/scripte/faq.js
Zeile: 62

Die betroffenen Funktionen:

function hide_it(id)
  {
    if(window.opera || (document.getElementById && !document.all))
      document.getElementById(id).style.visibility = 'hidden';
    else if(document.all)
      document.all[id].style.visibility = 'hidden';
    else if(document.layers)
      document.layers[id].visibility = 'hide';
  }

function clean()
  {
    var i,cnt=clean.arguments;
    for(i=0;i<cnt.length;i++)
      {
        eval("hide_it('divMenu"+cnt[i]+"');");
      }
  }

Ich vermute mal, daß irgendwas zum Zeitpunkt des Einlesens der Layer noch nicht geladen ist, der Fehler tritt_nur_bei diesem_einen_Link auf.
Kann man den Fehler irgendwie verhindern oder aber, wenn nicht, abfangen, sodaß keine Fehlermeldung erscheint?
Nach Laden der Seite funktioniert ja alles wie gewünscht und es gibt auch keine Fehlermeldungen mehr.
Firebird 0.7 hat übrigens keine Probleme mit dem Link.

Gruß

Kurt

--
"Es geht nicht darum, ob es Gott gibt; es geht darum, an Gott zu glauben. Nicht Gottes wegen, sondern des Glaubens wegen."  (Moriartes, gr. Philosoph, 314-244 v. Chr.)
http://elektro-dunzinger.at
http://shop.elektro-dunzinger.at