2009-08-26 40 views
2

如果为Internet Explorer放置丢失的图像(断开的图像链接),将显示十字和边框。在Internet Explorer中缺少图像交叉和边框

我们可以删除那个十字架和破碎图片的边框吗?

Internet Explorer 7 image http://img295.imageshack.us/img295/3029/internetexplorer.png

请参阅以下它的外观在Firefox

Firefox broken image http://img31.imageshack.us/img31/1123/firefoxg.png

我们需要摆脱边界和交叉坏掉的图象。这可以通过CSS修复吗?

+0

为什么你会在第一时间加载丢失的图像? – Randell 2009-08-26 10:14:28

+0

我们拥有大量图像的数据库。在某些情况下可能会有图像丢失,但我们不想显示像IE中丢失的图像。 此外,扫描每个文件夹和检查图像是否存在或在没有显示给用户之前,都会有开销。 – ToughPal 2009-08-26 10:17:58

回答

3

我认为你必须使用JavaScript。您可以使用这样的事情:

var imgs = document.getElementsByTagName("img"); 

for (i = 0; i < imgs.length; i++) { 
    imgs[i].onerror = function() { 
     imgs[i].parentNode.removeChild(imgs[i]); 
    } 
} 

具有此功能,您将删除所有出错的图像。

+0

谢谢,任何CSS解决方案?我们也可能有一些由AJAX加载的div,我们可能无法将此错误附加到每个图像上。 – ToughPal 2009-08-26 10:57:19

2

基于您的评论,为什么你就不能检查,如果像在服务器端脚本存在输出HTML之前?不应该有太多的开销。

在PHP这将是这样的:

<?php 
if (file_exists($imgUrl)) { 
    echo '<img src="', $imgUrl, '" alt="" />'; 
} 
?>