2010-04-22 94 views
1

我正在使用JQuery爲圖像文件動態添加鏈接。驗證href指向文件的鏈接

+ "<td><a class='IconButton' id='trkimg" + k + "' href='IMSTORE\/" + trackings[k].Image + "'><span class='ui-icon ui-icon-image'></span></td>" 

此代碼將檢查這個值是從數據庫返回並隱藏,如果沒有返回任何內容的鏈接:

if (trackings[k].Image == null) { $("#trkimg" + k).html(""); $("#trkimg" + k).removeClass('CustomButton'); } 

如何使用jQuery來驗證文件返回的實際存在,如果它不存在,顯示不同的圖像?

回答

0

根據SeanJA的建議,您可以使用ajax'測試'圖像,然後實際追加success回調中的圖像,或嘗試error回調中的另一個圖像。

您正在請求圖像兩次,但可能會在第一次嘗試後緩存。不確定。

如果你想實際使用返回的圖像,它需要進行編碼。這裏有一個鏈接指導如何做到這一點。雖然沒有嘗試過。

http://emilsblog.lerch.org/2009/07/javascript-hacks-using-xhr-to-load.html

var imageURI = "http://mydomain.com/myimage.jpg"; 
    $.ajax(
     { 
      type:'get', 
      dataType:'image/jpeg', 
      url:imageURI, 
      success:function() { $('body').append('<img src="' + imageURI + '" />'); }, 
      error:function() { /* Change url in imageURI variable, and try again */ } 
     } 
    ); 

不知道這是最好的方式,但似乎工作。

1

Javascript無法看到您的服務器上的文件。你可以做一個ajax請求到服務器端來檢查文件是否存在,我猜。

+0

是否有可能捕獲404錯誤並重定向到不同的圖像? – wham12 2010-04-22 17:17:25