Meinhard Tulm: Reload

Gibt es eine Möglichkeit ein Bild automatisch zu reloaden, falls es nicht ganz angezeigt wird (aus welchen Gründen auch immer)?

mein. tu.

  1. Gibt es eine Möglichkeit ein Bild automatisch zu reloaden, falls es nicht ganz angezeigt wird (aus welchen Gründen auch immer)?

    mein. tu.

    Hallo Meinhardt,

    tendenziell würde ich lieber nach der Ursache suchen, aufgrund derer Bilder nicht richtig geladen werden. Wenn man sich einen Workaround für ein Problem bastelt, dessen Ursache man nicht kennt, holt einen das Problem - erfahrungsgemäß - irgendwann wieder ein.

    Das ist sicher wieder so eine Antwort, die Du eigentlich nicht hören wolltest, aber das fällt mir spontan ein.

    Falls Du übrigens die Gründe für so einen Nicht-lade-Fall herausbekommst, darfst Du das auch gerne posten. Ich habe so einen effekt ebenfalls (nur im IE) und hab die Suche schon aufgegeben.

    Ciao,
    Hans-Peter

  2. Gibt es eine Möglichkeit ein Bild automatisch zu reloaden, falls es nicht ganz angezeigt wird (aus welchen Gründen auch immer)?

    Automatisch neu laden:
    ----------------------
    <html>
    <head>
    <title>Beispiel</title>
    </head>
    <body onload="for(i = 0; i < document.images.length; i++){if(document.images[i].complete == false){document.images[i].src = document.images[i].src}}">
    <h1>Versuch den Ladevorgang des Bilds abzubrechen</h1>
    <img src="http://www.power-shot.de/facts/g2/img/testbild_01_g.jpg" onabort="this.src = this.src">
    </body>
    </html>

    Wenn die Seite geladen wird, werden alle Bilder auf ihren Ladezustand hin überprüft. Ist ein Bild nicht vollständig geladen, wird ihm seine Source nochmals zugewiesen, was den IE (und nur ihn) dazu veranlässt das Bild neu zu laden.
    Sollte der Ladevorgang durch den User abgebrochen werden, also onabort, wird dem Bild ebenfalls die alte Source neu zugeordnet, und es wird neu geladen.

    Manuel neu laden:
    -----------------
    javascript:for(i = 0; i < document.images.length; i++){if(document.images[i].complete == false){void(document.images[i].src = document.images[i].src)}}

    Sollte der IE mal ein Bild nicht laden, wird es mit Hilfe dieses kleinen Bookmarklets, ohne das die ganze Seite neu geladen werden muss, angezeigt. Trick ist der selbe wie oben, die alte Source wird neu zugeordnet.

    Gruß
    Norbert

    1. Hi Norbert,

      wow, was für eine Antwort. Leider werden meine Bilder trotzdem nicht so geladen, wie ich mir das vorstelle und so und bleibe ich dabei: Ein Workaround macht nur Sinn, wenn man die Gründe für ein Problem gut kennt, das Problem aber (z. B. technisch oder organisatorisch bedingt) nicht eliminieren kann. "Zweiter Ladeversuch, wenn es zuvor nicht geklappt hat" ist mir einfach etwas zu hilflos.

      Also nochmal: Welche Gründe kann es geben, dass der IE Bilder manchmal (definitiv: manchmal und nur der IE) nicht anzeigt ?

      Ciao
      Hans-Peter

      1. Hi,

        mögliche Gründe z. B.:

        • Timeout (Ladezeit zu lange)
        • Programmfehler (Browser oder PC neu starten)
        1. Hi,

          Hi,

          mögliche Gründe z. B.:

          • Timeout (Ladezeit zu lange)
          • Programmfehler (Browser oder PC neu starten)

          danke für den Tipp, aber das wars noch nicht (eigentlich ist da ja nicht mein Thread, n´tschuldigung, dass ich mich da so reindränge, aber es passt halt zum Thema).

          weitere Symptom:

          • tritt auf bei einem Navigations-Menü im Explorer-Stil. Ca. 10 kleine GIFs (200 bis 300 Byte klein) werden zusammen 30-60 mal dargestellt (spricht eher gegen Timeout-Problem).

          • Fehlerwahrscheinlichkeit: Entweder es gibt überhaupt keine Fehler (75%) oder die Hälfte der GIFs werden nicht dargestellt (25%)

          • Fehlerwahrscheinlichkeit erhöht sich, wenn in den (Navigations-Frame geklickt wird, bevor alle Elemente dargestellt sind (was ja bei einer Navigation nicht sooo ungewöhnlich ist).

          • Lokal auf dem Rechner mit dem IIS getestet, gibts keinerlei Probleme (spricht eher für Timeout-Problem).

          • Von Besuchern habe ich noch keine negative Response bekommen (spricht eher gegen _meine_ Anbindung, aber ich habe DSL via Sat).

          • PreLoad der Bilder funzt ebenfalls nicht wirklich (Bildern dröppeln auf Monitor, während der Text schon lange da ist).

          • Alle oben genannten Probleme treten _nur_ mit dem IE auf. Bei Netscape, Opera, (sogar einem Nokia-Communicator ... an was man nicht alles denken muß) klappt alles prima (auch das PreLoad) (spricht eher gegen Programmierfehler).

          Ciao
          Hans-Peter

          1. Hi,

            • Fehlerwahrscheinlichkeit: Entweder es gibt überhaupt keine Fehler (75%) oder die Hälfte der GIFs werden nicht dargestellt (25%)

            IE-Typisch. Browser-Programm läuft "zu lange" (Browser-Programmierfehler summieren sich), Abhilfe: PC neu starten.

            • Fehlerwahrscheinlichkeit erhöht sich, wenn in den (Navigations-Frame geklickt wird, bevor alle Elemente dargestellt sind (was ja bei einer Navigation nicht sooo ungewöhnlich ist).

            Wird onFocus=... verwendet?

            • Lokal auf dem Rechner mit dem IIS getestet, gibts keinerlei Probleme (spricht eher für Timeout-Problem).
            • Von Besuchern habe ich noch keine negative Response bekommen (spricht eher gegen _meine_ Anbindung, aber ich habe DSL via Sat).
            • PreLoad der Bilder funzt ebenfalls nicht wirklich (Bildern dröppeln auf Monitor, während der Text schon lange da ist).

            IE-Typisch. Abhilfsvorschläge im Archiv (vieleicht hilft Suche nach den Worten "Preload Bergermann"), aber bislang ungetestet.

            • Alle oben genannten Probleme treten _nur_ mit dem IE auf. Bei Netscape, Opera, (sogar einem Nokia-Communicator ... an was man nicht alles denken muß) klappt alles prima (auch das PreLoad) (spricht eher gegen Programmierfehler).

            Meinte auch nicht die eigene Programmierung, sondern die von MSIE + Windows. Wie gesagt, Rechnerneustart hilft oft (aber nicht bei MS-Preload-Problem).

            Als Ursache für das MS-Preload-Problem vermute ich folgendes:
            Früher hatte der IE beim dynamischen Bildaustausch (dem ja zwangsläufig ein Preload vorangeht) das Problem, daß animierte Bilder dann stehen blieben. Deswegen werden die Programmierer als Workaround nun eingebaut haben, das Bild vollständig neuzuladen. Das führt dann aber zu längeren Reaktionszeiten beim dynamischen Bildaustausch.