Sven Rautenberg: Netscape streikt beim <div>-Tag

Beitrag lesen

Moin!

habe ein problem welches mal wieder mit dem netscape zusammenhängt....!

ein externes javascript ist zuständig für die mousovereffekte...:

soweit klappt es auch,... die links werden also im IE und im NS mit mouseover/out gewechselt...

was ich nun machen möchte ist eine <div>...</div>
ebene welche sich mit den menubuttons drinn am rande bewegt:
Das Problem --> http://www.designandfunction.ch/temp/german/html/xxgerman_index.htm

wie üblich klappt es im IE wunderbaar... nur der netscape streikt mal wieder...

Wenn du im Netscape 4 (und nur die Version 4) positionierte Layer (egal ob <div> oder <layer>) verwendest, bildet diese ein neues, eigenständiges Dokument. Alle dort enthaltenen Bilder sind nicht mehr über ein simples document.images[name] erreichbar, sondern du mußt erstmal in den Layer gehen:

document.layers[layerid].document.images[name]

Tiefere Verschachtelung ist ebenfalls möglich.

Du mußt also irgendwie testen, welcher Fall vorliegt.

if (document.layers)
{
  // Netscape 4-Variante
  document.layers[layerid].document.images[name]....
}
else
{
  // alle anderen Browser (hoffentlich...)
  document.images[name]....
}

Im Prinzip solltest du, um Fehlermeldungen zu vermeiden, zumindest die wichtigsten verwendeten Objekte abfragen, also auch, ob document.images existiert, und ob document.images[name] existiert. Das verhindert nervige, beim Mouseover auftretende Fehler, wenn auf der Seite doch irgendein Problem existiert.

was ich da mal aufgeschnappt habe ist das mit dem initialisieren der <div> ebenen:

Das hast du wirklich nur aufgeschnappt. Das Problem ist keines, was beim Initialisieren auftritt, sonder es tritt immer auf, wenn du auf DIV-Layer zugreifen willst.

- Sven Rautenberg

--
Signatur oder nicht Signatur - das ist hier die Frage!