我正在尝试编写一个可以执行以下操作的库。
当该库包含在 head 中时,它会更改 HTMLImageElement 原型,以便用户在 HTML 中碰巧使用的或在 javascript 中动态创建的任何图像标记都将具有由我的库定义的默认 onerror 函数。
这样做的结果是,如果任何用户图像由于指向错误的 url 而无法加载,我的库将以一种优雅的方式处理它。
我正在尝试以下只是作为实验,
var img = document.createElement('img');
img.__proto__.onerror = function() {
alert('hi');
};
document.body.innerHTML = '<img id="foo" src="bar.png"/>'
其中文件 bar.png 不存在且不起作用。
但是如果我只是做类似的事情
document.body.innerHTML = '<img id="foo" src="bar.png" ' +
'onerror="this.src = MODIT.getImage(\'blackTile\').src;"/>';
效果很好。这里 MODIT.getImage() 是一个返回图像元素的函数。您可以在这里使用此代码:https://mod.it/ciR_BxqJ/
我想做的事情可能吗?或者有没有办法全局捕获所有 403 GET 错误并以某种方式使用 javascript 处理它们?
Thanks!
window.addEventListener("error", function(e) {
if ( e && e.target && e.target.nodeName && e.target.nodeName.toLowerCase() == "img" ) {
alert( 'Bad image src: ' + e.target.src);
}
}, true);
See: http://jsfiddle.net/Vudsm/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)