Не удалось загрузить ресурс в Chrome - PullRequest
179 голосов
/ 08 декабря 2010

На веб-странице имеется множество изображений.

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

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

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

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

Что это?

Ответы [ 12 ]

264 голосов
/ 06 марта 2012

Я недавно столкнулся с этой проблемой и обнаружил, что она была вызвана расширением "Adblock" (мое лучшее предположение - то, что у меня были слова "баннер" и "реклама" в имени файла).

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

29 голосов
/ 25 декабря 2010

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

17 голосов
/ 06 марта 2012

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

13 голосов
/ 04 ноября 2014

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

  1. Щелкните правой кнопкой мыши Chrome
  2. Перейти к «осмотреть элемент»
  3. Найдите вкладку «Сеть» где-то вверху. Нажмите на нее.
  4. Установите флажок «отключить кеш».
8 голосов
/ 11 мая 2013

Решение Кабира верное.Мое изображение 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 был несколько излишним и влиял на гибкость ползунка для обработки изображений разных размеров.

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

7 голосов
/ 18 июня 2013

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

4 голосов
/ 20 февраля 2013

Я получал эту ошибку, только в 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. Надеюсь, эта помощь.

3 голосов
/ 26 мая 2017

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

3 голосов
/ 08 сентября 2014

В * 1002 есть временный обходной путь * Включаемая (временная) поддержка showModalDialog в Chrome (для Windows) 37 + .

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

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\EnableDeprecatedWebPlatformFeatures

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

2 голосов
/ 29 октября 2014

Факты:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...