网页上有很多图片。
其他浏览器正在正确下载它们,但Chrome不会加载它们。
在开发人员的控制台中,它为每个图像显示以下消息:
无法加载资源
此问题仅出现在Chrome中。
这是什么?
答案 0 :(得分:263)
我最近遇到了这个问题并发现它是由“Adblock”扩展引起的(我最好的猜测是因为我在文件名中有“banner”和“ad”字样)。
作为快速测试,看看这是否是您的问题,请在隐身模式下启动Chrome并停用扩展程序( ctrl + shift + n )并查看您的网页现在是否有效。请注意,默认情况下,所有扩展程序都已在隐身模式下停用,除非您专门将其设置为运行(通过chrome://extensions
)。
答案 1 :(得分:29)
检查网络标签,查看Chrome是否无法下载任何资源文件。
答案 2 :(得分:17)
如果它对任何人有帮助,我遇到了同样的问题并发现它是由“Do Not Track Plus”Chrome扩展程序(版本2.0.8)引起的。当我禁用该扩展时,图像加载时没有错误。
答案 3 :(得分:13)
还可以选择关闭网络资源的缓存。这对于开发环境可能是最好的。
答案 4 :(得分:8)
Kabir的解决方案是正确的。我的图片URL是
/images/ads/homepage/small-banners01.png,
这让AdBlock绊倒了。这对我来说不是一个跨域问题,它在localhost和网络上都失败了。
我正在使用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有关。将其关闭和/或重命名图像文件。
此外,由于AdBlock创建的内联CSS,我的促销滑块的布局正在被抛弃。虽然我在找到Kabir的解决方案之前能够解决CSS的布局问题,但CSS有点不必要,并且影响了滑块处理多种尺寸图像的灵活性。
我猜教训是:小心你的图像命名。这些图像并非恶意或令人讨厌,因为它们以不引人注目的方式向访问者提醒当前的促销和特价。
答案 5 :(得分:7)
如果图像是通过ASP Response.Write()
生成的,请确保不要拨打Response.Close();
。 Chrome不喜欢它。
答案 6 :(得分: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中测试成功。希望这有帮助。
答案 7 :(得分:3)
Reenable (temporary) showModalDialog support in Chrome (for Windows) 37+ 中有一个临时解决方法。
基本上,在
的注册表中创建一个新字符串HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\EnableDeprecatedWebPlatformFeatures
在EnableDeprecatedWebPlatformFeatures键下,创建名称为1
且值为ShowModalDialog_EffectiveUntil20150430
的字符串值。要验证是否已启用该政策,请访问chrome://policy
网址。
答案 8 :(得分:3)
仅供参考 - 我也有这个问题,事实证明我的html列出了带有.JPG大写字母的.jpg文件,但文件本身是小写的.jpg。这在本地使用Codekit很好,但是当它被推送到网络时它不会加载。只需将文件名更改为具有小写的.jpg扩展名以匹配html即可。
答案 9 :(得分:2)
事实:
答案 10 :(得分:1)
在Chrome(Canary)中,我取消选中" Appspector"延期。这清除了错误。
答案 11 :(得分:1)
我将Chrome浏览器更新到最新版本,问题已修复。
答案 12 :(得分:1)
这是由于广告拦截器引起的。当项目文件名中包含诸如“ ad”之类的字词时,广告拦截器也会阻止这些文件加载。
最佳解决方案是永远不要使用这些名称键保存任何文件。