2009-08-26 73 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="" />'; 
} 
?>