2012-09-07 95 views
1

我有簡單的腳本來檢查圖像,但它不能正常工作在我的ipad與ios 5.1。在圖像中,我收到了jpg的流,所以加載必須在每個框架上工作(如在大型safari中),但在ipad中它只會觸發一次。可能會有一些建議?.load()無法在ipad上工作

$('#image').load(function(){ 
    console.log(new Date().getTime();); 
}); 

回答

3

這是jQuery的官方網站上提到:

與圖像

開發人員嘗試使用​​快捷方式來解決面臨的共同挑戰是執行時的負載情況下的注意事項在圖像(或圖像集合)已完全加載時運行。有幾個已知的注意事項 這應該注意。它們是:

  • 這並不一致,也不可靠地工作,跨瀏覽器的
  • 它不正確的WebKit如果圖像的src設置爲相同的SRC像以前
  • 它不火正確地泡了DOM樹
  • 可以停止火已經生活在瀏覽器的緩存
+3

f * ck,除ipad外無處不在... –

0

正如@ Parv-Sharma表示圖像,.load是不可靠的。這裏的經驗相同。

如果這是關於像響應圖像調整(只是猜測)的東西,這是恕我直言你的最好的解決方法的機會:

  1. 當然有一箇中央resizeScript()。確保你抓住img.height()=== 0的情況下,在這種情況下,堅持你的優雅退化aka默認aka非js縮放。 (讀:現在什麼都不做)

  2. 解僱你的resizeScript()最多三次

    上image.load(),在jQuery.ready(),最後延遲一個,在幾毫秒後來。

    setTimeout(App.adjustFullsize ,300); 
    

    ,要麼沒有任何傷害(如果之前調用一個已經做了工作,或者如果事情持續失敗),但具有良好的改變這種形象如今也「正式」裝...

(哦,還有第四次,你可能想要註冊到resize()(即設備轉向)事件以及...)