Fehler beim Laden der Ressource unter Chrome

194

Eine Webseite enthält eine Reihe von Bildern.

Andere Browser laden sie korrekt herunter, aber Chrome lädt sie nicht.

In der Entwicklerkonsole wird für jedes Bild die folgende Meldung angezeigt:

laden der Ressourcen fehlgeschlagen

Dieses Problem tritt nur in Chrome auf.

Was ist es?

AntonAL
quelle
Können Sie etwas HTML zeigen? Wir benötigen weitere Informationen, um Ihnen bei Ihrem Problem zu helfen.
Andre
1
Der Grund, warum ich für diese Frage ein Kopfgeld festgelegt habe, ist, dass es von Zeit zu Zeit auftritt und sich nicht nur auf Bilder bezieht. Die Seite, an der ich arbeite, funktioniert in Firefox einwandfrei und schlägt gelegentlich in Chrome fehl.
1
Wie haben Sie das Problem gelöst?
Maks
Überprüfen Sie, ob Google Chrome-Erweiterungen Anforderungen blockieren.
Samuel Edson

Antworten:

280

Ich bin kürzlich auf dieses Problem gestoßen und habe festgestellt, dass es durch die Erweiterung "Adblock" verursacht wurde (meine beste Vermutung ist, dass ich die Wörter "Banner" und "Anzeige" im Dateinamen hatte).

Starten Sie Chrome im Inkognito-Modus mit deaktivierten Erweiterungen ( ctrl+ shift+n ) und prüfen Sie, ob Ihre Seite jetzt funktioniert , um festzustellen, ob dies Ihr Problem ist . Beachten Sie, dass standardmäßig alle Erweiterungen im Inkognito-Modus bereits deaktiviert sind, es sei denn, Sie haben ausdrücklich festgelegt, dass sie ausgeführt werden (via chrome://extensions).

Sarink
quelle
2
Ja das ist es! Meins hatte "Popup" im Namen und dies verursachte das Problem.
Janik Zikovsky
Danke. localhost site war in Ordnung, einmal auf einer Live-URL erschien das Problem, ließ mich nachdenken ..
Sam Doidge
1
Vielen Dank! Ich habe über 30 Minuten lang versucht herauszufinden, warum mein Code in Chrome nicht funktioniert hat.
Heyomi
2
Danke, dass du mich gerettet hast. Ich hatte 'Ad'-Wort in meiner URL. Als ich entfernte, funktionierte es. Aber gibt es dafür eine Problemumgehung? Ich meine, ich möchte meine URL nicht ändern.
Amit
2
Ich habe auch dieses Problem, aber ich habe keine Erweiterung installiert und die neueste Version ausgeführt. Was tun?
TheCrazyProfessor
31

Überprüfen Sie auf der Registerkarte "Netzwerk", ob Chrome keine Ressourcendatei herunterladen konnte.

ismail
quelle
2
@ Cartman Ich entschuldige mich für meine Unwissenheit. Was meinst du mit Registerkarte Netzwerk?
Klicken Sie mit der rechten Maustaste auf ein Element auf der Seite, wählen Sie "Element überprüfen", um den "Inspektor" zu öffnen. Der Inspektor verfügt über viele Registerkarten zum Debuggen der Webseite. Eine davon ist die Registerkarte "Netzwerk". Klicken Sie darauf, laden Sie die Seite neu und überprüfen Sie sie für jeden Netzwerkfehler.
ismail
@Cartman - Danke, ich benutze den Inspektor häufig und kann die Registerkarte "Netzwerk" nicht finden. Ich habe Elemente, Ressourcen, Skripte, Timeline-Profil, Speicher, Audits und Konsole. Ich werde herum googeln und versuchen zu verstehen, warum ich keinen Netzwerk-Tab habe.
1
Ich verwende Chromium 10.0.xx.xx. Stellen Sie sicher, dass Sie einen aktuellen Snapshot verwenden.
Ismail
@Cartman - Danke für die Chromspitze - war sich dieses Projekts nicht bewusst. Installierte Version 10.0.621.0 (70119). Habe das Problem neu erstellt. Die Nachricht auf der Registerkarte Netzwerk enthält 16 übertragene Anforderungen. Die Konsole gibt Folgendes an : GET localhost: 51707 / Content / Theme.css undefined (undefined) Auch 20 Sekunden vor dem Abrufen ohne Probleme nachgedacht.
17

Falls es jemandem hilft, hatte ich genau das gleiche Problem und stellte fest, dass es durch die Chrome-Erweiterung "Do Not Track Plus" (Version 2.0.8) verursacht wurde. Wenn ich diese Erweiterung deaktiviert habe, wurde das Bild ohne Fehler geladen.

nuri
quelle
Vielen Dank für den Tipp, ich war in der gleichen Situation und zog meine Haare über den Grund
Jasalguero
Das, was mir passiert ist, ist, dass Chrome aufgrund der AdBlock-Erweiterung keine CSS-Dateien geladen hat. Als ich die Erweiterung abbrach, funktionierte alles einwandfrei.
Chani Poz
14

Es besteht auch die Möglichkeit, den Cache für Netzwerkressourcen zu deaktivieren. Dies ist möglicherweise am besten für die Entwicklung von Umgebungen geeignet.

  1. Klicken Sie mit der rechten Maustaste auf Chrom
  2. Gehen Sie zu 'Element inspizieren'
  3. Suchen Sie oben oben nach der Registerkarte "Netzwerk". Klick es.
  4. Aktivieren Sie das Kontrollkästchen "Cache deaktivieren".
John Ktejik
quelle
Könnten Sie dies einmal überprüfen stackoverflow.com/questions/42693371/… @john ktejik
Yokesh Varadhan
Das hat es für mich getan.
JayJay123
Damit ist ein besonderes Problem für mich gelöst. Dies gilt nur für die Entwickler. Wie nehme ich dieses Wissen und gebe es in die Produktion frei, damit der Benutzer dieses Problem nicht mehr hat. Bedeutet dies nur, dass der Onclick, der mir diesen Fehler gibt, jedes Mal den Cache leeren sollte oder etwas in dieser Richtung?
Stefano Martinengo
Du hast mir viel Zeit gespart. Ich habe versucht, Ihre 1,2 und 4 Nuss nicht 4. Jetzt habe ich das Kontrollkästchen "Cache deaktivieren" aktiviert, es gibt viele Unterschiede.
Hallo
8

Kabirs Lösung ist richtig. Meine Bild- URL war

/images/ads/homepage/small-banners01.png, 

und dies löste AdBlock aus. Dies war für mich kein domänenübergreifendes Problem und schlug sowohl auf localhost als auch im Web fehl.

Ich habe die Netzwerkregisterkarte von Chrome zum Debuggen verwendet und sehr verwirrende Ergebnisse für diese spezifischen Bilder gefunden, die nicht geladen werden konnten. Die erste Anforderung würde keine Antwort zurückgeben (Status "(ausstehend)"). Später gab es eine zweite Anfrage, in der die ursprüngliche URL und dann "Weiterleiten" als Initiator aufgeführt waren. Die Umleitungsanforderungsheader waren alle für diese identische kurze Zeile von base64-codierten Daten und gaben jeweils keine Antwort zurück, obwohl der Status "Erfolgreich" war:

GET      data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg== HTTP/1.1

Später bemerkte ich, dass diese Inline-Stile allen Bildelementen hinzugefügt wurden:

    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;

Schließlich erhielt ich keine Meldungen "Ressource konnte nicht geladen werden" in der Konsole, sondern Folgendes:

Port error: Could not establish connection. Receiving end does not exist.

Wenn Ihnen eines dieser Dinge passiert, hat es wahrscheinlich etwas mit AdBlock zu tun. Schalten Sie es aus und / oder benennen Sie Ihre Bilddateien um.

Aufgrund des von AdBlock erstellten Inline- CSS wurde das Layout meines Werbeschiebereglers verworfen. Während ich die Layoutprobleme mit CSS beheben konnte, bevor ich Kabirs Lösung fand, war das CSS etwas unnötig und beeinträchtigte die Flexibilität des Schiebereglers für die Verarbeitung von Bildern mit mehreren Größen.

Ich denke, die Lektion lautet: Sei vorsichtig, wie du deine Bilder nennst. Diese Bilder waren nicht böswillig oder ärgerlich, sondern machten die Besucher auf unauffällige Weise auf aktuelle Werbeaktionen und Sonderangebote aufmerksam.

jmorganmartin
quelle
Nur ein Grund mehr, warum adBlock nicht existieren sollte.
StephenKelzer
2
adBlock sollte existieren und muss weiterleben
Coty Embry
7

Wenn die Bilder über einen ASP generiert werden Response.Write(), stellen Sie sicher, dass Sie nicht anrufen Response.Close();. Chrome mag es nicht.

bcolin
quelle
4

Ich habe diesen Fehler nur in Chrome (letzte Version 24.0.1312.57 m) erhalten und nur, wenn das Bild größer als das HTML-Bild war. Ich habe ein PHP-Skript verwendet, um das Bild wie folgt auszugeben:

header('Content-Length: '.strlen($data));
header("Content-type: image/{$ext}");
echo base64_decode($data);

Ich habe es gelöst und 1 zur Länge des Bildes hinzugefügt:

header('Content-Length: '.strlen($data) + 1);
header("Content-type: image/{$ext}");
echo base64_decode($data);

Offenbar erwartet Chrome nicht die richtige Anzahl von Bytes.

Getestet mit Erfolg in Chrome und IE 9. Hoffe diese Hilfe.

Markostama
quelle
Gleiches hier. In meinem Fall war es Service Stack, der beim Serialisieren von Objekten die Inhaltslänge hinzufügt, jedoch kein Stream- oder Byte-Array.
Shex
Plötzlich verursacht das "+1" in der Inhaltslänge "Invalid Chunk Header" in meiner Kommunikation mit Tomcat (ich verwende PHP Java Bridge, um Apache mit Tomcat zu kommunizieren). Ich habe dieses "+1" entfernt und es funktionierte normal in Chrome. Der Fehler mit Chunk verschwand ebenfalls. Seltsames Problem ... Ich weiß nicht, was passiert ist.
Marcostrama
3

Fakten:

Gemeinschaft
quelle
3

In Reenable (temporär) showModalDialog-Unterstützung in Chrome (für Windows) 37+ wird vorübergehend umgangen .

Grundsätzlich erstellen Sie eine neue Zeichenfolge in der Registrierung unter

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\EnableDeprecatedWebPlatformFeatures

Erstellen Sie unter dem Schlüssel EnableDeprecatedWebPlatformFeatures einen Zeichenfolgenwert mit dem Namen 1und dem Wert von ShowModalDialog_EffectiveUntil20150430. Besuchen Sie die chrome://policyURL , um zu überprüfen, ob die Richtlinie aktiviert ist .

Merlin051
quelle
3

Zu Ihrer Information - Ich hatte auch dieses Problem und es stellte sich heraus, dass mein HTML die .jpg-Datei mit einem .JPG in Großbuchstaben auflistete, aber die Datei selbst war .jpg in Kleinbuchstaben. Das wurde lokal und mit Codekit gut gerendert, aber wenn es ins Web gestellt wurde, wurde es nicht geladen. Das einfache Ändern der Dateinamen in eine .jpg-Erweiterung in Kleinbuchstaben, die mit dem HTML-Code übereinstimmt, hat den Trick getan.

Tony Tambe
quelle
Für mich war das das Problem :)
Clindo
2

In Chrome (Canary) habe ich die Erweiterung "Appspector" deaktiviert. Damit war der Fehler behoben. Geben Sie hier die Bildbeschreibung ein

MannyC
quelle
1

Ich habe meinen Chrome-Browser auf die neueste Version aktualisiert und das Problem wurde behoben.

Sergiu
quelle
0

Dies liegt am Werbeblocker. Wenn Projektdateinamen Wörter wie "ad" enthalten, blockieren Werbeblocker auch das Laden dieser Dateien.

Die beste Lösung ist, niemals Dateien mit diesen Namensschlüsseln zu speichern.

GHULAM NABI
quelle