2012-04-25 83 views
1

我遇到了問題,iPad堅持要加載.js文件的舊副本,而不是當前的。奇怪的是,這隻發生在頁面處於全屏模式時,而不是從頁面運行時。在iPad上緩存Javascript HTML5全屏網頁應用程序

  • 我沒有使用任何類型的緩存清單;
  • 當我在Safari上打開頁面時,其行爲與最新版本的.js相同;
  • 當我通過圖標打開頁面時,它的行爲與舊的.js相同;
  • 殺死正在運行的應用程序,刪除圖標然後重新創建它並不能解決問題;它仍然使用舊的.js,即使在全屏時也是如此。

有沒有人知道發生了什麼?

- 更新 -

這似乎是一個iOS 5 bug

- 解決方法(又名醜陋的黑客攻擊) -

一些假HTTP PARAMS只需添加到腳本標記,以便高速緩存認爲它完全是另一JS:

<script src="js/pentaho-jqm-repository.js"></script> 

變爲:

<script src="js/pentaho-jqm-repository.js?fkn-ios-bug=1"></script> 
+0

我相信,如果您在隱私模式下查看頁面,它將不會被緩存。試一試。 – 2012-04-25 20:30:35

+0

不幸的是,我無法測試它,因爲在添加上面的參數並再次刪除它之後,緩存問題就停止了,就像那樣。可能是零星的iOS錯誤? 感謝您的提示,無論如何;我會在下次緩存錯誤命中時嘗試它。 – 2012-04-26 11:59:08

+1

剛剛在iOS 7.0.4上遇到同樣的問題。我沒有添加一個參數,重新啓動iPad後問題就消失了。 – Nathan 2014-02-20 18:12:58

回答

2

在使用上述解決方法(向URL添加假參數)並將其更改回來後,奇怪的是,問題停止發生。當然,在生產環境中,人們無法做到這一點,所以我想我會開始編號js版本,以便最終用戶不會遇到這個問題。

相關問題