我想問一下如何預先偵測圖片是否存在,然後再決定是否寫入圖片的link??
我知道img本身有onerror的屬性,不過這要放在中才有效,
我想知道javascript本身能否先偵測該圖片是否存在,然後再決定是否要寫入
我的程式是建立一個100x100的表格,
然後由(1,1)開始,在每格中寫入對應的圖片連結
但是並不是每張圖片都有,所以不存在的圖片在網頁上就會出現一個X圖..@@..
我想先偵測x_y.jpg是否存在,然後再決定是否要在該格中寫入..
有人知道怎麼處理嗎..@@
2006-11-15 08:37:46 · 2 個解答 · 發問者 mack 1 in 電腦與網際網路 ➔ 程式設計
其實你的問題很簡單,一般來說可以有兩總做法,第一個就是使用
你說的onerror事件來作,但是您必須寫死的在img標籤裡,我曾試過
動態指派onerror事件給圖片物件,不過好像沒有辦法驅動,所以囉
本方法我就不用囉..如果其他大大可以解決的話,小弟虛心受教..
第二個就是利用img.readyState屬性,來判斷圖片是否有成功載入
,使用本方法,可以完全不用在img標籤裡動手腳,自動偵測..
我寫了一個小範例,希望對你有幫助..在這裡我做了下列假設條件
1.我只做1x5的表格,圖片分別是1_1.jpg~1_5.jpg
2.本方法在IE裡可以執行,在Mozilla核心的瀏覽器裡是無法執行的
(如FireFox..),因為它們不支援img.readyState屬性,如果其他大
大可以解決的話,小弟虛心受教..
3.本範例的執行原則為,當圖片存在時,顯示該圖片,若不存在時,則
改顯示NoExists.jpg這一張圖片,當然喔NoExists.jpg這一張圖片
,可以是一張透明的圖..
*請複製下面網頁原始碼,另存成網頁即可以
---------------------------- 複製下面網頁原始碼 -------------------------------
2006-11-15 09:43:41 · answer #1 · answered by jeff 5 · 0⤊ 0⤋
謝謝你..不過換圖的方式我知道怎麼做,我是用document.write動態寫入表格的,圖片的檔名是用迴圈產生的,所以有的檔名可能實際不存在,但是我不知道怎麼判斷是否不存在,如果能判斷,我就可以不寫入這個檔名.@@
2006-11-15 12:56:06 · answer #2 · answered by mack 1 · 0⤊ 0⤋