Mitleser: Code-Beispiele im Wiki

Beitrag lesen

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.

Anscheinend bräuchtest Du sogar mehr als 500ms...

Ja, scheint so. Die Strategie des festen Timeouts ist defekt.

Aber so wie es jetzt ist, scheint es mir extrem schädlich, weil einfach viele eine kaputte Seite sehen.

Kannst Du "viele" in Prozent umrechnen?

Nein, unmöglich. Siehe z.B. das Argument unten: Top Rechner unter hoher Last.

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

Ich hätte gerne ein Bonbon!

Ohne den Code / die Problematik genau gesehen zu haben: es muss doch irgendeine Eigenschaft im DOM geben, mit der Du eine Fallunterscheidung treffen kannst:

Ja? Welche sollte das sein? "Habe das Bild jetzt komplett gerendert"? Wie lautet dieses Event?

Wenn Du tatsächlich mit Events arbeiten möchtest, müsstet Du Dir wohl selbst eines bauen. Jetzt kommen wir langsam zum Punkt...

auf sowas könnte mit mittels Interval alle 50ms lauschen und reagieren.

50ms? Bei Dir braucht es doch offenichtlich länger als das zehnfache, bis die Seite fertig redendert ist! Was soll ich Deinen Browser dann alle 50ms noch mehr belasten? Das schafft der doch dann garnicht!

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.

BTW: Auch schnelle Systeme können langsam sein, wenn Sie unter entsprechender Last stehen. Ja, und weil es heute regnet, ist der Rasen nass. Schon klar.

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.

Deine Äußerungen helfen mir gerade nicht wirklich weiter... Dabei hattest Du es gut gemeint.

Wo ist mein Bonbon?

Bevor ihr das so umgebaut habt, würde ich lieber den Extralink ansehen drinlassen... IMHO. Der ist doch nach wie vor da! Du könntest "Link in neuem Fenster/Tab öffnen" benutzen, dann siehst Du das frickl-freie Beispiel.

Klar. Wird intuitiv jeder so machen. LOL.