Не удалось загрузить ресурс в Chrome

194

На веб-странице есть куча изображений.

Другие браузеры загружают их правильно, но Chrome не загружает их.

В консоли разработчика это показывает следующее сообщение для каждого изображения:

не удалось загрузить ресурс

Эта проблема появляется только в Chrome.

Что это?

AntonAL
источник
Можете ли вы показать немного HTML? Нам нужна дополнительная информация, чтобы помочь вам с вашей проблемой.
Андре
1
Причина, по которой я назначил вознаграждение за этот вопрос, заключается в том, что он возникает время от времени и не связан только с изображениями. Сайт, над которым я работаю, прекрасно работает в Firefox и иногда не работает в Chrome.
1
Как вы решили проблему?
Макс
Проверьте, не блокируют ли расширения Google Chrome запросы.
Самуэль Эдсон

Ответы:

280

Недавно я столкнулся с этой проблемой и обнаружил, что она была вызвана расширением «Adblock» (мое лучшее предположение заключается в том, что у меня были слова «banner» и «ad» в имени файла).

Чтобы быстро проверить, является ли это вашей проблемой, запустите Chrome в режиме инкогнито с отключенными расширениями ( ctrl+ shift+n ) и посмотрите, работает ли ваша страница сейчас. Обратите внимание, что по умолчанию все расширения уже отключены в режиме инкогнито, если вы специально не настроили их запуск (через chrome://extensions).

sarink
источник
2
Да это оно! В моем имени было «Popup», и это стало причиной проблемы.
Яник Зиковский
Спасибо. Сайт localhost был в порядке, когда-то на живом URL появилась проблема, заставил меня задуматься ..
Сэм Доидж
1
Спасибо! Я потратил более 30 минут, пытаясь понять, почему мой код не работает в Chrome.
Хейоми
2
Спасибо, что спасли меня. У меня было слово "Ad" в моем URL. Когда я удалил, это сработало. Но есть ли обходной путь для этого? Я имею в виду, я не хочу менять свой URL.
Амит
2
У меня тоже есть эта проблема, но у меня нет какого-либо расширения, установленного и работающего с последней версией, что делать?
TheCrazyProf отличник
31

Проверьте вкладку сети, чтобы увидеть, не удалось ли Chrome загрузить какой-либо файл ресурсов.

исмаил
источник
2
@ Картман Я прошу прощения за свое невежество. Что вы подразумеваете под вкладкой Сеть?
Щелкните правой кнопкой мыши любой элемент на странице, выберите «Проверить элемент», откроется «Инспектор», Инспектор имеет множество вкладок для отладки веб-страницы, одна из них - вкладка «Сеть», щелкните ее, перезагрузите страницу и проверьте за любую сетевую ошибку.
Исмаил
@ Картман - Спасибо, я много пользуюсь инспектором и не могу найти вкладку сети. У меня есть элементы, ресурсы, сценарии, профиль временной шкалы, хранилище, аудиты и консоль. Я буду гуглить и пытаюсь понять, почему у меня нет вкладки сети.
1
Я использую Chromium 10.0.xx.xx, убедитесь, что вы используете последний снимок.
Исмаил
@ Картман - Спасибо за подсказку хрома - не знал об этом проекте. Установленная версия 10.0.621.0 (70119). Воссоздали проблему. Сообщение на вкладке Сеть содержит 16 запросов на передачу 0B. Консоль сообщает: GET localhost: 51707 / Content / Theme.css undefined (undefined) Даже подумал 20 секунд, прежде чем он получил его без каких-либо проблем.
17

В случае, если это кому-нибудь поможет, у меня возникла точно такая же проблема, и я обнаружил, что она вызвана расширением Chrome «Не отслеживать плюс» (версия 2.0.8). Когда я отключил это расширение, изображение загружалось без ошибок.

нури
источник
Спасибо за подсказку, я был в той же ситуации и
дергал
Что случилось со мной, Chrome не загружал CSS-файлы из-за расширения AdBlock, когда я отменял расширение, все работало нормально.
Чани Поз
14

Также есть возможность отключить кеш для сетевых ресурсов. Это может быть лучше для развивающихся сред.

  1. Щелкните правой кнопкой мыши Chrome
  2. Перейти к «проверить элемент»
  3. Найдите вкладку «сеть» где-то вверху. Нажмите на это.
  4. Установите флажок «отключить кеш».
Джон Ктехик
источник
Не могли бы вы проверить это однажды stackoverflow.com/questions/42693371/… @john ktejik
Йокеш Варадхан
Это сделало это для меня.
JayJay123
При этом решается конкретный вопрос для меня. Это делается только для разработчиков. Как взять эти знания и выпустить их в производство, чтобы пользователь больше не сталкивался с этой проблемой. Означает ли это, что клик, который дает мне эту ошибку, должен очищать кэш каждый раз или что-то в этом роде?
Стефано Мартиненго
Вы сэкономили мне много времени. Я попробовал ваш 1,2 и 4 орех, а не 4. Теперь я установил флажок «отключить кеш», есть много различий.
Привет
8

Решение Кабира верное. URL моего изображения был

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

и это отключило AdBlock. Это не было междоменной проблемой для меня, и это не удалось как на локальном хосте, так и в сети.

Я использовал вкладку сети Chrome для отладки и нашел очень запутанные результаты для этих конкретных изображений, которые не удалось загрузить. Первый запрос не даст ответа (Статус "(ожидает)"). Позже появился второй запрос, в котором был указан исходный URL, а затем «Перенаправить» в качестве инициатора. Все заголовки запроса на перенаправление были для этой идентичной короткой строки данных, закодированных в base64, и каждый из них не возвращал ответа, хотя статус был «Успешный»:

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

Позже я заметил, что эти встроенные стили были добавлены ко всем элементам изображения:

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

Наконец, я не получил никаких сообщений «не удалось загрузить ресурс» в консоли, а вот так:

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

Если что-то из этого происходит с вами, это, вероятно, связано с AdBlock. Выключите его и / или переименуйте файлы изображений.

Кроме того, из-за встроенного CSS, созданного AdBlock, макет моего слайдера рекламных акций был скинут. Хотя я смог исправить проблемы с макетом с помощью CSS, прежде чем нашел решение Кабира, CSS был несколько излишним и влиял на гибкость слайдера для обработки изображений разных размеров.

Я думаю, что урок: будьте осторожны, как вы называете свои изображения. Эти изображения не были злонамеренными или раздражающими, поскольку они предупреждали посетителей о текущих акциях и специальных предложениях ненавязчивым способом.

jmorganmartin
источник
Еще одна причина, по которой adBlock не должен существовать.
Стивен Кельцер
2
AdBlock должен существовать и должен жить дальше
Coty Embry
7

Если изображения генерируются через ASP Response.Write(), убедитесь, что вы не звоните Response.Close();. Хрому это не нравится.

bcolin
источник
4

Я получал эту ошибку, только в Chrome (последняя версия 24.0.1312.57 m), и только если изображение было больше, чем html img. Я использовал скрипт php для вывода изображения следующим образом:

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

Я решил добавить 1 к длине изображения:

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

Похоже, что Chrome не ожидает правильное количество байтов.

Проверено с успехом в Chrome и IE 9. Надеюсь, что это поможет.

marcostrama
источник
То же самое здесь. В моем случае это был Service Stack, который добавляет Content-Length при сериализации объектов, но не Stream или Byte Array.
Шек
Внезапно «+1» в длине контента начинает вызывать «Неверный заголовок чанка» в моем общении с Tomcat (я использую php java bridge для соединения apache с tomcat). Я убрал этот «+1», и он стал работать нормально в Chrome. Ошибка с чанком тоже исчезла. Странная проблема ... Я не понимаю, что случилось.
Marcostrama
3

Факты:

Сообщество
источник
3

В Reenable (временном) временном обходе есть поддержка showModalDialog в Chrome (для Windows) 37+ .

По сути, создайте новую строку в реестре на

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\EnableDeprecatedWebPlatformFeatures

Под ключом EnableDeprecatedWebPlatformFeatures создайте строковое значение с именем 1и значением ShowModalDialog_EffectiveUntil20150430. Чтобы убедиться, что политика включена, посетите chrome://policyURL.

Merlin051
источник
3

К вашему сведению - у меня тоже была эта проблема, и оказалось, что мой html перечислил файл .jpg с .JPG заглавными буквами, но сам файл был строчным .jpg. Это хорошо отрисовывалось локально и с использованием Codekit, но когда он был помещен в сеть, он не загружался. Простое изменение имен файлов, чтобы иметь расширение .jpg в нижнем регистре, чтобы соответствовать HTML сделал свое дело.

Тони Тамбе
источник
Для меня это было проблемой :)
Клиндо
2

В Chrome (Canary) я отключил расширение «Appspector». Это очистило ошибку. введите описание изображения здесь

MannyC
источник
1

Я обновил свой браузер Chrome до последней версии, и проблема была исправлена.

Серджиу
источник
0

Это происходит из-за блокировщика рекламы. Когда имена файлов проекта содержат слова типа «реклама», блокировщики рекламы также блокируют загружаемые файлы.

Лучшее решение - никогда не сохранять файлы с этими именными ключами.

ГУЛАМ НАБИ
источник