2017-10-04 75 views
0

比方說,我有一個腳本(A),想要加載另一個腳本(B),但只有B在瀏覽器的緩存中已經可用。 (例如,如果B不在那裏,也許A會加載一個不同的腳本(C))。有可能知道嗎?是否可以同步檢查腳本是否存在於JS的瀏覽器緩存中?

+2

想到加載資源的唯一情況是[Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API)。除此之外,沒有API可以讓你查詢瀏覽器緩存。 –

+0

該腳本如何在瀏覽器緩存中可用? _「假設我有一個想要加載另一個腳本的腳本,但前提是它已經在瀏覽器的緩存中可用。」_您指的是在瀏覽器緩存中使用哪個腳本?什麼是「它」?請參閱https://stackoverflow.com/help/mcve – guest271314

+0

同步?我不這麼認爲。 – Bergi

回答

0

我認爲解決問題的更好方法是將所有上傳的腳本的信息保存在localStorage中。然後在下一頁加載檢查每個腳本狀態並且如果腳本狀態被緩存,嘗試從緩存中加載它。

就是這樣!

+0

你怎麼能告訴我沒有努力刷新頁面? – Kaiido

+0

我曾考慮過在本地存儲中存儲腳本B的內容,而不是依賴於瀏覽器緩存,但除此之外,我認爲我不能指望我的存儲狀態與瀏覽器發生的任何事情保持同步。 – sprugman

+0

爲什麼你不想只將緩存的腳本URL保存到localStorage中的數組中?像這樣:localStorage.cachedUrls =「['scriptUrl1','scriptUrl2','scriptUrl3']」。 – zhuravlyov

相關問題