2016-08-18 84 views
0

我在Android Chrome瀏覽器和桌面Chrome瀏覽器上進行了一些Html5應用程序緩存測試。Html5應用程序緩存:刷新頁面時無法從應用程序緩存加載JavaScript文件

清單網址
/appcachetest /主/ AppManifest:

CACHE MANIFEST 

# Version: 3 

NETWORK: 
* 

CACHE: 
Main 
Main/Page1 
Main/Page2 
Scripts/jquery-1.10.2.js 
#FALLBACK: 
@{ 
    Layout = null; 
    Response.ContentType = "text/cache-manifest"; 
    Response.Cache.SetCacheability(HttpCacheability.NoCache); 
    Response.Cache.SetExpires(DateTime.MinValue); 
    Response.ContentEncoding = System.Text.Encoding.UTF8; 
} 

主索引頁:

<!DOCTYPE html> 
<html manifest="/appcachetest/Main/AppManifest" type="text/cache-manifest"> 
<head> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <title> - My ASP.NET Application</title> 
    <script src="/AppCacheTest/Scripts/jquery-1.10.2.js"></script> 
</head> 
<body> 


<iframe src="Main/Page1" style="border: 0; width: 100%; height: 100%"> </iframe> 

</body> 
</html> 

我試過如下步驟:

  1. 使瀏覽器聯機。
  2. 類型在地址欄的主索引頁的URL,然後回車
  3. 頁面正確加載,並且所有項目緩存。
  4. 關閉瀏覽器並重新啓動。
  5. 使瀏覽器脫機並啓用緩存。
  6. 在地址欄中輸入主索引頁並按回車鍵。
  7. 從緩存中加載的主索引頁和JavaScript文件。
  8. 點擊瀏覽器刷新按鈕,JavaScript文件無法從緩存中加載。

刷新頁面時有沒有工作解決方案從應用程序緩存加載JavaScript文件?如何使它工作?

感謝, 博

回答

0

我終於知道導致無法從Manifest Cache加載JavaScript文件的問題。

它是在Manifest文件中的緩存URL區分大小寫,我沒有意識到這一點,直到花了兩天的時間。

1

幾個小時的調查和測試之後。

我發現如果我把文件jquery-1.10.2.js重命名爲jquery.js.jgz,那麼離線刷新頁面不會導致任何錯誤。

相關問題