Html5应用程序缓存:刷新页面时无法从应用程序缓存加载JavaScript文件



我在Android Chrome浏览器和桌面Chrome浏览器上做了一些Html5应用缓存测试。

manifest url
/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文件时刷新页面?如何让它发挥作用?

谢谢,Bo

经过几个小时的调查和测试。

我发现如果我重命名文件jquery-1.10.2.js为jquery.js。

我终于知道了导致无法从Manifest缓存加载JavaScript文件的问题。

在Manifest文件中缓存的URL是区分大小写的,直到花了两天的时间我才意识到这一点。

相关内容

  • 没有找到相关文章

最新更新