2011-08-19 56 views
0

所以我有一個關於預加載的一般性問題。我使用一些大的圖像作爲精靈在我的手機網站的各個地方添加,但因爲它們是背景圖像(在jquery爲div分配某些類名時即時分配) - 我不確定如何最好地預加載這些。用jquery預加載圖像 - 圖像是否保留在緩存中?

我看到這個帖子在這裏:

http://jquery-howto.blogspot.com/2009/02/preload-images-with-jquery.html

下,你根本做:

var image1 = $('<img />').attr('src', 'imageURL.jpg'); 

,但如果我以這種方式預先載入圖像,然後從未直接將它們分配到一個DOM元素(因爲它們將被指定爲具有css類的背景圖像) - 預加載這些圖像對我有什麼好處?

+0

這是關於一個特定的**手機瀏覽器的問題嗎? – Sparky

+0

並非如此 - 它需要在各種各樣的移動智能手機中可見。 – mheavers

回答

2

只要你的腳本運行在end而不是在DOM渲染的中間(因爲它會阻止頁面),它應該仍然有幫助。分配後您將看不到flickr效果。

只要圖片URL不更改,圖片就會從緩存中取出。

+0

它在文檔準備就緒(在許多其他函數之後)被調用。 – mheavers

+0

@mheavers:那很好。儘管有一個問題,但它會鎖定瀏覽器的事件循環。爲了釋放瀏覽器的線程,你可以在document.ready中使用這個技巧:'setTimeout(function(){/ * preload images * /},0);' – Mrchief

+0

你能解釋一下你綁定瀏覽器的事件循環,以及如何使用setTimeout幫助? – mheavers