Felix Riesterer: Code-Beispiele im Wiki

Beitrag lesen

Lieber Mitleser,

verstehe ich Dich richtig, dass Du selbst nach 500ms Verzögerung nur eine oder zwei Code-Zeilen im jeweiligen Code-Editor siehst, obwohl da mehr als nur diese (zwei) stehen sollte(n)?

Ja.

autsch! Dann verstehe ich besser, warum Du die Idee mit dem Timeout so verurteilst.

Da hätte ich gerne eine genauere Aussage (und keine Prognose!).

Ich hätte gerne ein Bonbon!

:-) bittesehr: ><><

Wenn Du tatsächlich mit Events arbeiten möchtest, müsstet Du Dir wohl selbst eines bauen.

Das würde ich sofort, wenn ich wüsste wie. Bieten denn alle Browser etwas in der Art "renderComplete"?

Ich fasse nochmal zusammen, korrigiere mich bitte: Dein Script geht von irgendeinem Zustand "X" aus, der aber erst zum Zeitpunkt "Y" gegeben ist. Also geht es doch eigentlich um die Frage: wie identifiziere ich Zustand "X"? Das sollte doch lösbar sein. Irgendein Element im DOM wird Dir vor "X" z.B. einen anderen (vermutlich sehr kleinen) Wert seiner berechneten(!) Höhe/Breite liefern, als nach "X". Das packst Du in ein Interval und prüfst das. Sobald das Kriterium (du wirst schnell eines finden, bestimmt) erfüllt ist, beendest Du das Interval rufst Deine eigentliche Funktion auf. Oder feuerst wg. mir auch ein eigenes Event, auf das du horchst, wenn es denn ganz hübsch werden soll.

Ich werde einmal schauen, ob ich den Zeitpunkt ermitteln kann, zu dem alle Editoren fertig eingerichtet sind. Vielleicht hilft mir das weiter.

WTF?! Wie schon gesagt, setTimeout ist hier schlicht der falsche Ansatz. Dauerhaft kaputt. Für flotte Systeme verzögerst Du zu lange, für langsame zu kurz.

Sollte ich kein geeignetes Event finden oder erzeugen können, bleibt das der letzte Ausweg! Natürlich kann ich nachvollziehen, dass ein Timeout ein stunpfes Messer ist, aber wenn sonst kein gemeinsamer Nenner zwischen den Browsern auf ihren Systemen bleibt... was soll ich da tun?

Wo ist mein Bonbon?

s.o. - kriegst aber gleich noch eins: ><><

Du könntest "Link in neuem Fenster/Tab öffnen" benutzen, dann siehst Du das frickl-freie Beispiel.

Klar. Wird intuitiv jeder so machen. LOL.

Und genau da war ein anderes Problem versteckt, auf das mich JürgenB hingewiesen hat. Aber das habe ich nun behoben.

Mal sehen, ob beim Studium der API zum verwendeten Editor ein passendes Event zu finden ist. Dann melde ich mich wieder.

Liebe Grüße,

Felix Riesterer.