Javascript url返回404时交换图像不使用AJAX
当图像的URL返回404时,我使用以下函数作为回退。该函数应该在AJAX之后执行。因此,当创建AJAX时,URL返回404,图像将替换损坏的图像。这些功能在Safari和Firefox中可用,但在Chrome中不可用 当它在Chrome中不工作时,控制台会显示: 未定义imageOnError 你知道怎么回事吗Javascript url返回404时交换图像不使用AJAX,javascript,ajax,image,fallback,Javascript,Ajax,Image,Fallback,当图像的URL返回404时,我使用以下函数作为回退。该函数应该在AJAX之后执行。因此,当创建AJAX时,URL返回404,图像将替换损坏的图像。这些功能在Safari和Firefox中可用,但在Chrome中不可用 当它在Chrome中不工作时,控制台会显示: 未定义imageOnError 你知道怎么回事吗 以下是浏览器获得此信息时的提示: <img src="http://ip.dlron.us/img.jpg" onerror="return imageOnError(t
以下是浏览器获得此信息时的提示:
<img src="http://ip.dlron.us/img.jpg"
onerror="return imageOnError(this);">
图像的URL可能已经根据存在性(以及缓存的结果)进行了测试,所以浏览器可以立即判断图像不可用,并调用OneError处理程序
因此,您的
imageOnError(img)
实现应该在使用它的第一个图像之前以HTML显示。我最后使用jQuery解决了这个问题。它实际上比直接在标记上调用onerror
事件更有效。谢谢大家的帮助
$(errorImage).on('error', function(){
$(this).attr('src', 'broken-image-url');
});
发布整个代码,如何将imageOnError函数附加到图像对象?你检查过了吗?这是角形的?哪里定义了
imageOnError
,全局函数?@dfsq为什么会是角度函数?这看起来像是任何带有胡子样式模板的代码(可以是普通胡子、修长胡子、棱角分明的、随意挑选)。事实上,您间歇性地获得它意味着您在javascript之前加载图像时遇到了竞争问题……您在何处/如何包含该函数?这似乎是个问题,但是页面(图像内容)通过AJAX和HTML生成。能否详细说明“页面(图像内容)”和“图像内容通过AJAX和HTML生成”?我认为问题与AJAX调用有关,可能是因为当AJAX呈现内容时,imageOneError函数
未准备就绪或其他原因。
$(errorImage).on('error', function(){
$(this).attr('src', 'broken-image-url');
});