渲染img html组件时重定向或显示错误时出错

时间:2014-09-19 08:33:49

标签: javascript html

我从请求到我的自制服务器返回一个简单的html页面:

<html>
  <head>
    <title>Server Sample</title>
  </head>
  <img src="/stream.jpeg">
</html>

要在页面中的img中呈现图像,请在服务器上,在/stream.jpeg路径下发出第二个请求,以获取实际的图像数据。但是,如果此请求由于某些原因而失败,我想向用户显示错误页面或某种消息。从失败请求的上下文重定向或生成html错误页面似乎不起作用,可能是因为初始页面需要图像。在这种情况下,页面显示“空”img标记而不是想要的错误。

解决此问题的最便携方法是什么?如果可能的话,我更喜欢使用html解决方案,但也允许使用javascript。

请注意,我编写的服务器非常简单,并且动态生成非常简单的页面,它不是复杂服务器可以提供的那种扩展。

1 个答案:

答案 0 :(得分:5)

试试这个:

<img src="stream.jpeg" onerror="errorFunction();">

但HTML5中包含onerror属性。所以在旧的HTML中会失败。

JavaScript:

function errorFunction() {
  // Here you implement what's happening if the image failed to load.
  // For example:
  window.location.assing('http://my-site/error-page.html');
  // or
  console.log('Sorry, but image cannot be loaded right now.');
}

必须在<img>标记之前定义此函数。否则,如果在定义函数之前图像无法加载,HTML将无法找到此函数,您将收到引用错误。