我在HTML 5 Manifest上添加了一些设置,这些设置在Google Chrome上实现了完美的行为
iOS上的Safari和Safari上的Safari作为网络剪辑。
不幸的是,相同的代码导致在IE和Fire Fox中加载清单文件时中止。
以下是我们应用的设置:
在服务器端:IIS 7,Windows Server 2008 R2。 响应:text / cache-manifest,no-cache。
清单的文字是:
CACHE MANIFEST
CACHE:
/
/Index.html
/Login.html
/favicon.ico
/Content/Kendo/web/Font/FontAwesome.otf
NETWORK:
*
以下是第一个文件
的IE网络探查器的结果URL: http://192.168.0.220:1009/
Method:
Result: (Aborted)
Type: text/html
Received: 292 B
Taken: < 1 ms
Initiator: (Pending...)
以下是回复:
Key Value
Response HTTP/1.1 200 OK
Cache-Control no-cache, no-store
Pragma no-cache
Content-Type text/html
Expires -1
Last-Modified Mon, 23 Sep 2013 16:05:06 GMT
Accept-Ranges bytes
ETag "351169ab76b8ce1:0"
Server Microsoft-IIS/7.5
X-Powered-By ASP.NET
Date Mon, 23 Sep 2013 16:32:43 GMT
这是html 5清单的错误消息:
Resource doesn’t exist on the server: 'http://192.168.0.220:1009/'.
AppCache Fatal Error
最后我在Index.html页面上有这些元标记:
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta http-equiv="CACHE-CONTROL" content="NO-CACHE" />
<meta http-equiv="EXPIRES" content="0" />
<meta http-equiv="PRAGMA" content="NO-CACHE" />
任何帮助都非常感谢。
答案 0 :(得分:0)
我找到了问题的原因。
在ASP.NET Global.asax的Request_End中,我们应该应用
HttpContext.Current.Response.Cache.SetNoStore();
仅适用于iOS,并且Chrome始终有效,无论是更新应用程序还是脱机使用。
注意:在iOS的网页剪辑和游戏中需要 no-store ,因为在更新清单之前已经加载了文件,否则它们将不会更新,即使清单下载新版本他们。
希望这对你也有帮助。