我試圖使用腳本緩存來存儲腳本localStorage。在這種情況下,我正在嘗試由Addy Osmani和其他人創建的Basket.js。性能對於它可以工作的情況非常棒,但問題在於它不像我期望的那樣工作,但說實話,也許它工作正常,而且我不瞭解腳本緩存背後的基本原理。因此,讓我描述我如何使用它:與Basket.js腳本緩存,我做錯了什麼?
首先,我設置了標記:
<script src="/framework/plugins/base/basket.js"></script>
然後,附上我在下面的塊中的所有腳本:
<script>basket.require({url:'/framework/plugins/base/jquery-2.1.1.js',expire:168},{url:'/framework/plugins/base/jquery.ui-1.10.4.js',expire:168},{url:'/framework/plugins/forms/dropzone/dropzone.js',expire:168});</script>
當我打開我的測試頁面,一切正常,除了刷新文檔時的事實。一旦它被緩存...閃光!它工作得很好,但我的問題是腳本緩存本身。我總是必須刷新文檔以查看其效果。
老實說,我認爲腳本緩存將腳本存儲在localStorage中,並執行它們,所以你可以得到兩全其美的效果。但是,似乎並不是這樣。
我做錯了什麼,或者它是任何腳本緩存模型是這樣的嗎?總是在第二次運行?
雖然我明白了,並且絕對沒問題,但我認爲它裏面有一些有缺陷的想法。我的意思是......如果腳本在第一次運行時緩存資源,爲什麼不在緩存後自動渲染它們以避免重新加載?一個簡單的'document.appendChild()'或甚至'document.write()'就足夠第一次運行。當然,我可以自己做,但我希望劇本自動處理:P –