DHTML und mein Surfer
Tobias Lange
Hallo miteinander,
ich als kleiner Javascript-Anfänger habe mich mal wieder an einem Script versucht.
Das Ergebnis ist auf http://www.ijc.de zu sehen.
Aber ihr seht: es flakkert und flakkert und flakkert ....
Wer kann mir dabei helfen???
Die Zeile in der das Bild ist, sieht so aus:
.... var out='<font face="Arial,Helvetica,MS Sans Serif"> <font color=#04C5F7><font size=+0>'+text.substring(0, pos)+'</font></font> <IMG SRC="BILDER/Surfer2.gif" Alt=" " HEIGHT=100 WIDTH=101 Align=middle>
Bis dahin,
Tobias
Hallo Tobias,
Aber ihr seht: es flakkert und flakkert und flakkert
Ich sehe nur, dass alles ganz nett aussieht, auch der Ticker mit dem Surfer. Und da das Script vom deutschen DHTML-Guru Christoph Bergmann stammt, kann ja eigentlich auch nicht viel schief laufen :-)
viele Gruesse
Stefan Muenz
Hallo Tobias,
Aber ihr seht: es flakkert und flakkert und flakkert
Ich habe mir das Ganze jetzt mal zu Hause angeschaut und siehe da, der Surfer baut sich nicht einmal auf. Ständig wird die Verbindung zu meinem Provider neu geladen. Aber kein Bild weit und breit. Nur der Rahmen mit dem Bildsymbol.
Ich sehe nur, dass alles ganz nett aussieht, auch der Ticker mit dem Surfer. Und da das Script vom deutschen DHTML-Guru Christoph Bergmann stammt, kann ja eigentlich auch nicht viel schief laufen :-)
Die Sache mit dem Image vor dem Ticker habe ich selbst eingebaut. Ich weiß nicht einmal, ob das so funktioniert.
Bei uns im Internetcafé zeigt auf jeden Fall jeder Rechner etwas anderes an.
DA STIMMT IRGENDETWAS NICHT!
Gute Nacht erstmal,
Tobias
Hallo Tobias,
wie wär's damit, das Image in dieser Art anzulegen?:
surfer =new Image(width,height);
surfer.src ="surfer2.gif";
document ["imagename"].src=surfer.src;
Und dann noch:
<img name="imagename" src=:-[ ...>
CYa
GONZO
HalloGonzo,
ich hab versucht, deine Sache im Script einzubauen,
aber leider bin ich noch ein bisschen zu doof für Javascript...
Er sagt mir jetzt, document["imagename"] has no properties.
Ähäm, zeigst Du mir das ein bisschen genauer, wo das hinsoll ...
Danke denne,
Tobias
wie wär's damit, das Image in dieser Art anzulegen?:
surfer =new Image(width,height);
surfer.src ="surfer2.gif";document ["imagename"].src=surfer.src;
Und dann noch:
<img name="imagename" src=:-[ ...>
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.
Hallo nochmal,
nachdem die Kidis im IJC sich über das Flakkern beschwert haben, habe ich den "Flakkerer" jetzt unter http://www.ijc.de/Vorlagen/ijc.ssi abgelegt.
Ich hoffe, jemand von euch kann mir da noch weiterhelfen.
Schon mal einen riesen Dank an Christine und ihrer ausführlichen Beschreibung.
Mal sehen, ob ich als Laie damit umgehen kann ...
Aber ihr seht: es flakkert und flakkert und flakkert ....
Wer kann mir dabei helfen???
Die Zeile in der das Bild ist, sieht so aus:
.... var out='<font face="Arial,Helvetica,MS Sans Serif"> <font color=#04C5F7><font size=+0>'+text.substring(0, pos)+'</font></font> <IMG SRC="BILDER/Surfer2.gif" Alt=" " HEIGHT=100 WIDTH=101 Align=middle>
Bis dahin,
Tobias