Zeitüberschreitung beim Laden von Bildern im Internet Explorer

8

Ich habe eine Seite für eine interne App, die Dokumentenbilder anzeigt, die von einem Dokumentenspeichersystem über einen Webdienst gestreamt wurden. Das Problem, das ich habe, ist, dass wenn ein Benutzer ihre Suche durchführt, sie Hunderte von Treffern bekommen, die ich auf einer großen Seite anzeigen muss, damit sie alle drucken können. Das funktioniert gut in Firefox, aber im IE hört es auf, die Bilder nach einer Weile zu laden, so dass ich ungefähr hundert Anzeigen bekomme und der Rest nur das gebrochene Bildsymbol hat. Gibt es irgendwo eine Einstellung, dass ich dieses Timeout ändern kann?

    
Kevin 20.04.2011, 13:27
quelle

5 Antworten

10

Wenn das Problem tatsächlich eine Zeitüberschreitung ist, können Sie möglicherweise umgehen, indem Sie ein "Lazy Load" -Skript verwenden und dem Dokument nur dann neue Bilder hinzufügen, nachdem vorhandene Bilder geladen wurden.

Es gibt viele Möglichkeiten, dies zu tun, aber hier ist ein einfaches Beispiel, das ich zusammengestellt und getestet habe. Statt dessen:

%Vor%

Sie könnten dies tun:

%Vor%

Jedes Bild wird der Seite erst hinzugefügt, nachdem das vorherige Bild geladen wurde (oder nicht geladen werden kann). Wenn Ihr Browser eine Zeitüberschreitung hat, wird das Problem behoben.

Natürlich ist das Problem möglicherweise nicht ein Timeout, sondern eher, dass Ihnen die Speicher- / Systemressourcen ausgehen und IE aufgibt. Oder es könnte eine IE-DOM-Beschränkung geben, wie Sra gesagt hat.

    
Joshua Carmody 22.04.2011 15:50
quelle
2

Keine endgültige Lösung, aber ein paar Hinweise ... Ich denke der ie Dom legt auf. Ich habe das in anderen Fällen gesehen. Ich brauchte einfach nur die Bilder zu zeigen und benutzte eine js, die das Bild in der Zeit, in der sie in den Fokus kamen, lädt, aber das will funktionieren, wenn man direkt auf den Druck klickt, denke ich. Können Sie die neue CSS-Fähigkeit verwenden, um Bilddaten direkt anstelle von Links zu speichern? Das sollte dein Problem lösen. Ich bin mir nicht ganz sicher, aber ich denke, es wird seit 7 unterstützt

    
sra 22.04.2011 15:42
quelle
2

Meine Vermutung ist, dass Sie die IE-Einstellung umgehen müssen. Der einfachste Weg ist, einfach keine Bilder anzuzeigen, die nicht geladen sind, oder sie durch ein Standardbild zu ersetzen:

Ihr html:

%Vor%

Ihre js:

%Vor%     
ezmilhouse 29.04.2011 09:39
quelle
1

Das ist ein Problem mit Microsoft. Leider ist dies eine Einstellung, die auf jedem einzelnen Computer geändert werden muss, da es keine Möglichkeit gibt, sie zu ändern. Um es auf Ihrem Computer zu ändern, öffnen Sie regedit und fügen Sie das RecieveTimeout DWORD mit einem Wert von (Anzahl der Minuten) * 6000 hinzu. Ich hoffe, dies hilft-CodeKid1001

Bearbeiten: Tut mir leid, ich habe vergessen, den Dateipfad einzugeben: HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ AktuelleVersion \ InternetSettings

    
CodeKid1001 28.04.2011 20:40
quelle
1

Ich habe etwas ähnlich wie HD-Bilder als Hintergrund mit ASP-Seiten verwendet

Aber ich habe jQuery verwendet, um die Bilder und deren Laden zu handhaben. Dies ist ein Beispiel für ein Bild, aber mit ein wenig Feinabstimmung können Sie dynamisch laden

%Vor%

Anstatt das Zeitlimit zu ändern, versuchen Sie einfach, die Bilder bei einem Fehler neu zu laden.

Ansonsten habe ich nur eine Lösung gefunden, die clientspezifisch ist (HTTP Timeout)

Ссылка

    
ppumkin 29.04.2011 08:32
quelle