网页上有一堆图片。

其他浏览器都能正确下载,但Chrome不行。

在开发人员的控制台中,它为每个图像显示以下消息:

加载资源失败

如前所述,问题只出现在Chrome。

是什么?


当前回答

检查网络选项卡,看看Chrome浏览器是否下载任何资源文件失败。

其他回答

这是由于广告拦截软件。当项目文件名包含像“广告”这样的单词时,广告拦截器也会阻止这些文件加载。

最好的解决方案是永远不要保存任何具有这些名称键的文件。

有一个临时的工作围绕在重新启用(临时)showModalDialog支持Chrome (Windows) 37+。

基本上,在注册表中创建一个新字符串

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\EnableDeprecatedWebPlatformFeatures

在enabledeprecedwebplatformfeatures键下,创建一个字符串值,名称为1,值为ShowModalDialog_EffectiveUntil20150430。请访问chrome://policy URL来验证策略是否已启用。

卡比尔的解是正确的。我的图片URL是

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

这就是AdBlock。这对我来说不是一个跨域的问题,它在本地主机和web上都失败了。

我使用Chrome的网络选项卡进行调试,发现这些特定图像加载失败的结果非常令人困惑。第一个请求将不返回任何响应(状态“(pending)”)。随后,出现了第二个请求,其中列出了原始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,我的促销滑块的布局被抛出。虽然我能够在找到Kabir的解决方案之前用CSS修复布局问题,但CSS有点不必要,并且影响了滑块处理多种大小图像的灵活性。

我想教训是:小心你给你的图像命名。这些图片并不是恶意的或令人讨厌的,因为它们以一种不引人注目的方式提醒访问者当前的促销和特价活动。

我得到这个错误,只有在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和ie9测试成功。希望这对你有所帮助。

我把我的Chrome浏览器更新到最新版本,这个问题已经解决了。