2011-07-03 72 views
3

我正在使用Google Maps V3 API創建一個谷歌地圖,其標記在鼠標懸停上更改標記圖標。但是,我注意到圖標在用戶第一次使用該特定標記時會閃爍,並且對於每個標記,我認爲這是由於鼠標懸停圖像需要一些時間才能下載的。谷歌地圖預加載標記圖像

爲了解決這個問題,我正在考慮預加載mouseover圖標圖像。我怎樣才能做到這一點?

回答

3

我不確定這是否適用於每個瀏覽器,但在現代瀏覽器(FF 3.6+,IE8/9(我認爲),Safari/Chrome)上啓用緩存後,只需將元素添加到DOM並緩存它們(即將它們放在隱藏的div中),所以下一次請求時,它會從緩存而不是服務器中完全消除閃存。

+0

Benno:我如何添加到DOM? – thedethe

+0

將它們放在頁面上會將它們放在文檔對象模型中(它由html標籤中的所有元素組成一個低跨度或img標籤)。在你的情況下,只要這樣做:'

'。當瀏覽器呈現頁面時,它會從服務器請求這些圖像,並且(通常)將它們放入緩存中。因此,當您下一次請求時(即將鼠標懸停在標記上時),它會立即從個人的計算機獲取,而不是您的服務器。 – Benno