場景:ALT屬性
<img src="filepath" alt="image not found">
這將確保,如果文件沒有路徑,則文本會被加載發現.....
問題: 而不是一個替代文字可以加載圖像?是否有任何標籤將隨時爲我的目的,是否有任何自定義JavaScript函數可以在#alt標籤?
場景:ALT屬性
<img src="filepath" alt="image not found">
這將確保,如果文件沒有路徑,則文本會被加載發現.....
問題: 而不是一個替代文字可以加載圖像?是否有任何標籤將隨時爲我的目的,是否有任何自定義JavaScript函數可以在#alt標籤?
您可以檢查圖像中的JavaScript加載:
var img = document.getElementById('image');
if (img.complete && img.naturalWidth == 0) {
// some error, load alternate image:
img.src = "path to alternative img";
}
編輯:完整的解決方案(使用onerror
從@ JoDev的答案)是:
<script>
function validate (img) {
// Clear the callback to avoid infinite loop in case
// new image path would be also invalid.
img.onerror = null;
if (img.complete && img.naturalWidth == 0) {
// some error, load alternate image:
img.src = "http://example.com/valid_path.png";
}
}
</script>
<img onerror="javascript:validate(this);"
src="http://example.com/some_invalid_path.png"/>
+1我沒有知道這部分:'img.naturalWidth == 0' – JoDev 2013-03-28 08:46:12
圖像無法被加載。 (你有什麼保證,那*圖像將被發現和加載?你想爲alt圖像設置一個alt圖像嗎?等等) – sevenseacat 2013-03-27 12:50:32
請注意'alt'屬性基本上是一個輔助功能。在無法顯示圖像的環境下(例如屏幕閱讀器),另一個圖像不能取代。我建議你使用該屬性來達到預期目的(如果適用,請提供圖片的簡要說明,其中「未找到圖片」不是),並找到另一種方法來檢測丟失的圖片。 – 2013-03-27 12:56:44
請參考http://stackoverflow.com/questions/3984287/how-to-show-alternate-image-if-source-image-is-not-found-onerror-working-in-ie – AmGates 2013-03-27 12:58:28