Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript url返回404时交换图像不使用AJAX_Javascript_Ajax_Image_Fallback - Fatal编程技术网

Javascript url返回404时交换图像不使用AJAX

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

当图像的URL返回404时,我使用以下函数作为回退。该函数应该在AJAX之后执行。因此,当创建AJAX时,URL返回404,图像将替换损坏的图像。这些功能在Safari和Firefox中可用,但在Chrome中不可用

当它在Chrome中不工作时,控制台会显示:

未定义imageOnError

你知道怎么回事吗


以下是浏览器获得此信息时的提示:

<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');
});