jquery – 当首选(外部/服务器/远程/云)映像无法加载时,有没有办法提供回退(本地)映像?

前端之家收集整理的这篇文章主要介绍了jquery – 当首选(外部/服务器/远程/云)映像无法加载时,有没有办法提供回退(本地)映像?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的锚标签
<a href=\"http://www.duckbill.com" target=\"_blank\"><img height=\"160\" width=\"160\" src=\"http://images.duckbill.com/PlatypiOnVacation.jpg\" alt=\"Platypi playing Pinochle and eating Pizza in Panama\" /></a>

…有时无法加载src图像;在这种情况下,我想在经过足够的延迟(几秒钟)后,将其替换为:

<a href=\"http://www.duckbill.com" target=\"_blank\"><img height=\"160\" width=\"160\" src=\"Content/Images/PlatypiOnVacation.jpg\" alt=\"Platypi playing Pinochle and eating Pizza in Panama\" /></a>

我知道我可以在jQuery中做到这一点,但是我怎么能够以编程方式确定远程文件没有加载,在这种情况下,使用回退图像进行响应?

UPDATE

我喜欢Brad Christie对真正不可用的图像的回答,但我想永远不要显示“不可用” – 如果目前还没有远程的那个,只需使用本地的.我喜欢这个:http://www.cirkuit.net/projects/jquery/onImagesLoad/example1.html但是如何以编程方式确定图像失败了?

解决方法

<img src="http://remotecdn.com/myimage.jpg"
     data-failover="/assets/notfound.jpg" />

然后:

<script>
  $('img[data-failover]').error(function(){
    var failover = $(this).data('failover');
    if (this.src != failover){
      this.src = failover;
    }
  });
</script>

尝试加载实际源,但如果发生错误,请使用故障转移数据属性将其转换为本地资源.由于我们将补充信息分开,因此在不能/不支持它的浏览器中应该优雅地失败.

有关.error()的更多信息.

原文链接:https://www.f2er.com/jquery/177438.html

猜你在找的jQuery相关文章