2011-05-18 72 views
0

我唯一的問題是,我想重新加載WebView中的一些圖像。
因此,我添加了一個簡單JavaScript方法,這樣做:通過加載本地圖像到uiwebview

[webView stringByBlehBleyJAvascript:@"replaceImage(....);"]; 

瞧* rataplan * ... *擊鼓*

function replaceImage(id, src) { 
    document.getElementById('img'+id).src=src; 
} 

調用它 - 我可以看到的新形象 - 圖像完全消失約1秒後。 現在我想知道 - 我加載的圖像大小約爲30KByte。不要太多,至少不要太多,需要60秒。
我也嘗試了JS-Image-Object來loadit,並將dom-image-str屬性設置爲加載的屬性。相同的結果:/
dom元素的完整數量約爲12-15。所以getElementById不是瓶頸。
任何想法如何加載靜態文件W/O延遲?
順便說一句:剛剛在模擬器中測試它,因爲我的手機壞了。

回答

0

把這個在你的HTML的底部:

<div style="display: none"><img src='img.png'/></div> 

我也有類似的問題,一個非常小的,本地存儲的圖像,當通過JavaScript顯示將需要2-3秒來顯示。即

document.getElementById(id).innerHTML = "<img src='img.png'/>"; 

但是,如果圖像包含在HTML中,它顯然會被緩存。然後當你用JS顯示它時,它立即顯示出來。

+0

解決了它與此類似,只是發現這個老問題和你的匹配答案;)謝謝彼得 – thedanielhanke 2012-03-20 11:52:59

0

爲什麼不直接調用web視圖的reload方法?

或者直接告訴webView以與第一次相同的方式再次加載內容。這可能是因爲你要求Web視圖運行一些JavaScript,這可能涉及一堆無關的東西。

+0

嘿查理,我有3個圖像,每個代表一個狀態。我只想改變1狀態。現在,這不能通過CSS來完成,因爲狀態更改是通過從外部服務器加載照片(實時圖像)來完成的。 – thedanielhanke 2011-05-18 19:39:45