我想让我的网站脱机工作,我做到了。但问题是我无法更新我的清单文件。我有一个应检查更新的功能,如果可能的话更新它,但我不知道它为什么不起作用。
这是我的index.html
<html manifest="VideoPlayer.appcache" >
<head>
<title>Video Player</title>
<meta charset='UTF-8'>
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
<link rel="stylesheet" type="text/css" href="style.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body id='main'>
...
<script>
window.addEventListener('load', function(e) {
window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
window.applicationCache.swapCache();
if (confirm('A new version of this site is available. Load it?')) {
window.location.reload();
}
} else {}
}, false);
}, false);
....
</script>
</body>
</html>
我的VideoPlayer.appcache:
CACHE MANIFEST
index.html
style.css
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
你能告诉我它有什么问题吗?
答案 0 :(得分:0)
我不知道你的Javascript是否可以让它变得更容易(我当然希望如此!),但我从appcached文件的实验中学到的是,它们只能在Chrome和Firefox中成功更新/刷新/重新加载在以下条件下:
VideoPlayer.appcache
文件本身也必须更新。您可以通过在文件中包含日期和时间并将其更改为更新网页的日期和时间来实现。请参阅以下代码块,了解如何包含日期和时间。 Tools -> Options -> Advanced -> Network -> Offline Web Content and User Data -> Remove [site]
。 以下是appcache文件的日期和时间方法:
CACHE MANIFEST
# 2014-06-25 — 15.50
CACHE:
[your to-appcache files here]
更改日期和/或时间将告诉浏览器to-appcache文件已更新并应重新加载。
我没有在IE中测试过问题,因为我没有IE10,IE9也没有做appc。
如果您愿意,请告诉我它是如何工作的,特别是与您的Javascript结合使用。