Andreas Lindig: DOM - ist das nicht furchtbar?

Beitrag lesen

Hallo mathias,

Dann musst du dein Programm zeigen,

wenn Du unbedingt willst, bitte: Ich befürchte nur, daß es bei der Länge, die es mittlerweile hat, für Außenstehende nichts bringt. Obacht: was Du dort siehst ist nicht der Quelltext des Programms, sondern irgendeine beliebige Testseite.

Man muß zum Start des Programms in die Seite doppelklicken, dann geht ein Fenster mit Links auf - _da_ ist das Programm drin. Es ist jetzt so eingerichtet, daß es im Opera funktioniert. Das läßt sich aber leicht ändern (siehe weiter unten).

nicht wir irgendwelche irrelevanten Beispiele.

äh, Du warst gar nicht angesprochen :-) - Du _mußt_ mir nichts zeigen :-)

Wäre sinnvoller, wenn du sie [Fehlermeldungen] posten würdest, ansonsten kann man dir schlecht dabei helfen, sie zu entschlüsseln.

bitte:

diese Meldung tritt auf, wenn man im Palettenfenster auf einen Link der oberen drei Blöcke klickt (sofern das Programm mit innerHTML läuft - ist jetzt nicht der Fall, kannst Du aber einrichten, siehe unten). Wenn man sich im Opera die Linkadressen ansieht, dann hat er die nur halb geschrieben. Aber bedenke: Der String der in diese Links geschrieben wird, wird mit einer Funktion generiert und ist im Prinzip immer gleich - es werden nur Parmeter ausgetauscht. Wenn man sich diese Strings mit alert() ausgeben läßt, gibt auch der Opera die korrekten Strings aus, aber er schreibt sie mit innerHTML scheinbar unvollständig ins Dokument.

Man kann den Unterschied testen, wenn man die Variable 'this.IE' im Konstruktor 'function Palette' auf true setzt, dann geht auch der Opera jeweils in den innerHTML-Zweig.

Der Witz ist: wenn ich das Programm für Opera korrekt laufen lasse (also mit DOM), kann ich in der initialisierungsfunktion des Programms ('dokumentEinlesen()') am Schluß noch irgendwas mit innerHTML ins dokument schreiben, z.B.: "document.getElementById('inhalt').innerHTML = 'Nachtrag'", und dann sind die Links auch wieder kaputt, obwohl dieses innerHTML erst ausgeführt wird, _nachdem_ alle Links zunächst korrekt ins Dokument geschrieben wurden.

Die nötigen Änderungen zum Testen stehen schon als Kommentare im Programm:
Zeile: 187, Zeile 554
einfach Auskommentieren und wundern...

Das sieht eher danach aus, dass deine Analysen nicht ausreichend waren, um das Problem einzugrenzen.

Ich gehe - gutgläubig, wie ich bin - mal davon aus, daß keine Syntax-Fehler mehr vorhanden sind, wenn der Mozilla nichts mehr meldet und das Programm von ihm und vom IE fehlerfrei ausgeführt wird... Zudem fürhrt auch der Opera fehlerfrei aus, solange kein innerHTML vorkommt. Wenn ich es aber an irgendeiner unverfänglichen Stelle probehalber wieder einfüge (s.o.), kackt eben das ganze Programm ab.

Gruß, Andreas

--
SELFFORUM - hier werden Sie geholfen,
auch in Fragen zu richtiges Deutsch