English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

我想問一下如何預先偵測圖片是否存在,然後再決定是否寫入圖片的link??
我知道img本身有onerror的屬性,不過這要放在中才有效,
我想知道javascript本身能否先偵測該圖片是否存在,然後再決定是否要寫入

我的程式是建立一個100x100的表格,
然後由(1,1)開始,在每格中寫入對應的圖片連結
但是並不是每張圖片都有,所以不存在的圖片在網頁上就會出現一個X圖..@@..
我想先偵測x_y.jpg是否存在,然後再決定是否要在該格中寫入..

有人知道怎麼處理嗎..@@

2006-11-15 08:37:46 · 2 個解答 · 發問者 mack 1 in 電腦與網際網路 程式設計

2 個解答

其實你的問題很簡單,一般來說可以有兩總做法,第一個就是使用
你說的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-16 09:44:49 補充:
嗯,了解囉,我把新的範例放在下面的網址,去看看ㄅ..

http://www40.websamba.com/MyAsp101/Imgtable.html

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

fedest.com, questions and answers