Christine Kuehnel: DHTML und mein Surfer

Beitrag lesen

Hallo,

Aber ihr seht: es flakkert und flakkert und flakkert
Ich sehe nur, dass alles ganz nett aussieht, auch der Ticker mit dem Surfer.

Doch, es flackert.
Stefan, ich vermute, Du warst mit MSIE4 da.
Bei dem flackert nichts. Anders Netscape. Die Browser machen da was unterschiedlich.
Ich habe ein paar Beobachtungen und Vermutungen zur Ursache zu bieten.

Die Beobachtungen mit Netsacpe 4:
Der Surfer (die Grafik) erscheint gar nicht. Ueber den Bildschirm rutscht nur der Platz, wo er hingehoert.
Die Statusanzeige ist im Dauerstress, zeigt staendig das Laden von irgendwas an.
Stoppen laesst sich das Laden auch nicht, zumindest nicht auf dem ueblichen Weg.
Ich habe dann gestoppt, indem ich einfach mal mit "View Image" die Grafik geladen habe, dann zur Seite zurueckgegangen bin.
Von dem Moment an ist die Statusleiste ruhig, die Grafik ist auch da, wandert ueber den Bildschirm.
Aber jetzt flackert die Grafik selbst.

So, und jetzt die Vermutungen:
Da wird im Abstand von 2/10 Sekunden das hier ausgefuehrt (leicht gekuerzt):
  var out='...<IMG SRC="BILDER/Surfer2.gif" Alt=" " HEIGHT=100 WIDTH=101 align=middle>...';
  with(document.ticker.document)    /* ticker ist ein Layer-Objekt */
        {
            open(); write(out); close();   /* Layer-Inhalt wird immer wieder neu geschrieben */
        }
Ich vermute, die Grafik ist nie fertig geladen, wenn sie wieder neu gebraucht wird.
Deswegen landet sie auch nicht Cache, und der Borwser versucht andauernd, sie vom Server zu holen.
Nachdem ich sie von Hand geladen hatte (View Image) war  sie im Cache, die Statusanzeige blieb also von da an ruhig.
Aber jetzt hatte ich halt das Flackern der Grafik selbst.
Meine Theorie dazu:
Laut Document-Info hat die    Content Length:  1348     und   Decoded Size: 20432
Die muessen in dieser kurzen Zeit dargestellt werden. Die Zeit koennte zu kurz dafuer sein.
Wenn das so ist, dann sieht das evtl. auf Rechnern mit unterschiedlicher Leistungsfaehigkeit auch noch unterschiedlich aus.

Das ist erst mal meine Theorie. Mehr weiss ich im Moment auch nicht dazu.
Um eine Loesung zu finden, muesste man natuerlich erst mal die Theorie bestaetigen.
Das ist aber nicht in 5 Minuten passiert.

Wie koennte man rangehen?
Ich wuerde mal die Zeiten extrem nach oben setzen, damit das Laden wirklich zum Ende kommen kann. Stimmt meine Vermutung, dann sollte das gehen.

Wie koennte man es ueberhaupt anders machen?
An sich muesste man den Layer nicht staendig neu beschreiben. Verschieben macht normal keine Probleme. Allerdings hat das hier einen kleinen Haken, der vermutlich ueberhaupt zu dieser Idee gefuehrt hat. Die Abstaende, um die verschoben werden muss, sind nicht bekannt, lassen sich auch nicht(?) ermitteln. Es sind jeweils die Breiten der einzelnen Buchstaben des Tickers.
Oder man muesste irgendwie versuchen, die Grafik zuerst mal vollstaendig zu laden, bevor man sie fuer den Ticker ueberhaupt benutzt. Das laesst sich bestimmt irgendwie hinkriegen.

Nochmal kurz zurueck zum MSIE. Der handelt das Laden von Grafiken tatsaechlich irgendwie anders als Netscape. Ich bin da mal drauf gestossen als ich mich mit der Kombination JavaScript und animierte GIF's befasst habe. Kann also durchaus sein, dass der sich beim Laden nicht beirren laesst und deswegen mal zum Ende kommt.

Und da das Script vom deutschen DHTML-Guru Christoph Bergmann stammt, kann ja eigentlich auch nicht viel schief laufen :-)

Na ja, wie das eben so mit Bibeln, Goettern und Gurus ist, ... ;-)))
Hab' doch gerade heute wieder sowas zu SelfHTML gelesen - steht da drin, muss also stimmen <g>
Ob dem Christoph das recht ist, wenn seine Scripts gefaelligst unter allen Umstaenden absolut niet- und nagelfest zu sein haben?

Gute Nacht
Christine

doch noch kurz PS:
Waere sicher sinnvoll, wenn bei irgendwelchen auftretedenden Effekten immer dazugeschrieben wird, mit welchem Browser  das passiert. Dann laeuft man nicht erst in die Irre.