2015-01-07 45 views
0

這裏是fiddle- http://jsfiddle.net/gfWES/59/如何顯示備用圖像,如果背景圖像沒有找到

當背景圖像將指向哪裏會找不到圖像的位置,我想說明的替代圖片它位於以下位置 - http://fancyapps.com/fancybox/demo/1_b.jpg

最終,我必須在淘汰賽中實現上述目標。

<td class="cell"> 
<div class="contact-photo" data-bind="click: $parent.onAlertClick, style: { backgroundImage:  $parent.photoUrl($data) }, css: { 'has-notifications': $parent.showAlert($data)}, onerror:alert('error')"></div> 
</td> 

在上述代碼 - 如果「$ parent.photoUrl($數據)」指向URL,其中圖像不存在時,我想指出「將backgroundImage:」到其他位置,以顯示任何備用圖像。

回答

1

檢查圖像是否存在的唯一方法是請求它。 使用jQuery你會做一個$.ajax({url:'somefile.png', type:'HEAD', error:image_does_not_exist}); 其中image_does_not_exist是一個回調函數。然後您將photoUrl返回的值設置爲默認值。

+0

感謝您的回答。但是,如果事實證明這是一個不允許的跨瀏覽器請求。 – Peeyush

+0

然後這是不可能的。您需要在響應中使用正確的CORS標頭。 _但一個好的選擇(不需要CORS)是使用'img'並聽其上的'onLoad',如在答案中所述:http://stackoverflow.com/questions/9809015/image-onerror-event -never-火災,但是,圖像的心不是化有效數據需求-A-變通 –