有时只会触发图片加载错误

克里斯·里奇

我有一个分类样式的网站,每页50-100张图像,一次从不同来源加载。有时我会收到404,而我正在设法解决这个问题。

在每个包含图像的元素上,我都有以下脚本:

$el.find('img').one('error', function() {           
    console.log('broken image detected');
    // Replace broken image with something else
}).each(function() {
    if(this.complete || $(this).height() > 0){
        $(this).load();
    }
});

但这似乎是随机触发的,没有发现所有404加载错误-特别是在页面的开头,实际上没有检测到404。在页面末尾看起来更好一些。

这是怎么回事?

我应该补充一点,这段JavaScript尚未在整个DOM完成加载之前进行初始化,但是我给人的印象是.each部分可以满足此要求?

另一个想法是插入一个内联负载错误检测器:

<img src="http://example.com/image.jpg" onerror="window.errorHandler(this);">

但是由于我的JavaScript在设计上是模块化的,所以我宁愿避免这种情况。

- - 编辑 - -

我已经通过在onerror处理程序上插入一个内联脚本解决了这个问题。它不是超级优雅,但是可以工作,因为侦听器与src属性同时插入。而且它不依赖jQuery。

通过在窗口中公开一个函数,我在前端代码中做了一些细致的工作来解决这个问题。

德米特里

必须先设置所有用于处理负载或错误事件的侦听器,然后再设置img的src属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

图片无法加载(有时!)

来自分类Dev

如何触发图片上的点击事件?

来自分类Dev

Ubuntu 错误 - 有时甚至无法从 BIOS 加载

来自分类Dev

有时在Firebase函数的触发器中发生“错误:13内部:发生内部错误”

来自分类Dev

animationstart有时仅触发?

来自分类Dev

有时从未触发DiscoverServices

来自分类Dev

为什么 Inkscape 有时在拖动对象时只会捕捉?

来自分类Dev

在Django模型中手动触发图片保存方法

来自分类Dev

SpriteKit有时无法加载SKTexture

来自分类Dev

有时X无法加载

来自分类Dev

Google字体有时无法加载

来自分类Dev

有时alamofireImage无法加载图像

来自分类Dev

加载图片有时会导致图片加载两次

来自分类Dev

带有图案的图片有时显示异常

来自分类Dev

有时会触发JS退格键按下事件,有时不会触发

来自分类Dev

uiwebview有时加载fileURLWithpath有时不加载

来自分类Dev

uiwebview有时加载fileURLWithpath有时不加载

来自分类Dev

IE 有时加载 WOFF 有时加载 EOT 字体类型

来自分类Dev

HTML-错误的字母(有时)

来自分类Dev

AJAX <select>值错误(有时)

来自分类Dev

空指针异常错误...有时

来自分类Dev

游戏有时出现错误#1009

来自分类Dev

触发点击有时不起作用

来自分类Dev

移动Safari有时不触发点击事件

来自分类Dev

有时仅触发角度行为主题

来自分类Dev

触发并忘记异步Task方法,有时不调用

来自分类Dev

触发点击有时不起作用

来自分类Dev

为什么在迭代过程中从映射中删除不存在的元素有时只会崩溃?

来自分类Dev

UserDefaults UIButton状态有时会错误加载