img標籤src爲空引發兩次請求頁面的問題

最近一直在asp.net mvc下開發網站,今天碰到了很讓人鬱悶的問題。 我一個Controller裏的 action在頁面加載時被調用了2次。

起初懷疑JS問題,但屏蔽調JS後,問題依舊。沒辦法,把頁面裏的內容分別屏蔽的找了半天原 因,最終發現是因爲 頁面含有一個<img src="">。記錄:<img <wbr>src="">引發的問題

 

   <html>
   <body>

    ...其他服務器端代碼...
   <img src="" />
    ...其他服務器端代碼...
   </body>
   </html>

 

當調用這個頁面的URL 的時候,會發現,網頁被調用了2次。如果該訪問該網頁的URL 還帶有參數,那麼第一次調用有參數,第二次調用沒有參數。

Google了下,發現具體原因是,在img 對象的src 屬性是空字符串("")的時候,瀏覽器認爲這是一個缺省值,值的內容爲當前網頁的路徑。瀏覽器會用當前路徑進行再一次載入,並把其內容作爲圖像的二進制內 容並試圖顯示。

對於不同的瀏覽器測試後,發現對於有無src 或者src 是否爲空的情況,還不盡相同,測試結果如下表。

 

代碼 Firefox IE6 IE7
<img src="" /> 會重複載入 會重複載入 會重複載入
<img src /> 會重複載入 正常 正常
<img /> 正常 正常 正常

 

以後如果圖片路徑後來才賦值的,一定注意這個問題,不要加上src=""。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章