应用程序缓存清单在Firefox中未加载,在Chrome和Safari中正常
Application cache manifest not loading in Firefox, ok in Chrome and Safari
我有以下清单
CACHE MANIFEST
# cache-revision-29541
# cache-creation-date: Fri Dec 5 11:33:29 GMT 2014
CACHE:
app.html
NETWORK:
*
还有下面的应用程序.html
<!DOCTYPE html>
<html manifest="app.manifest">
<head>
<title>cache test</title>
<script>
function checkCache() {
var appCache = window.applicationCache;
var logACEvent = function(e) {
console.log("Cache Event " + e.type + " Status: " + appCache.status);
}
appCache.addEventListener('error', logACEvent, false);
appCache.addEventListener('checking', logACEvent, false);
appCache.addEventListener('noupdate', logACEvent, false);
appCache.addEventListener('downloading', logACEvent, false);
appCache.addEventListener('progress', logACEvent, false);
appCache.addEventListener('updateready', logACEvent, false);
appCache.addEventListener('cached', logACEvent, false);
}
checkCache();
</script>
</head>
<body>
</body>
</html>
和我的.htaccess条目(用于设置内容类型(
AddType text/cache-manifest .manifest
ExpiresByType text/cache-manifest "access plus 0 seconds"
我已经验证服务器正在设置内容类型。
在 Safari 中,这会输出两条控制台消息
Cache Event checking Status: 2
Cache Event noupdate Status: 1
在 Chrome 中,此输出
Cache Event checking Status: 2
Cache Event noupdate Status: 1
在火狐中我得到
Cache Event checking Status: 0
Cache Event error Status: 0
在IE11中,我得到
(i) Resource doesn’t exist on the server: 'http://10.119.103.2/~adf/RMC2/release/beta/app.html'.
(i) AppCache Fatal Error
Cache Event error Status: 0
应用程序 URL 为"http://{主机}/~adf/RMC2/release/beta/app.html"app.manifest 和 app.html 位于同一文件夹中。
没有指示错误可能是什么。我可以直接加载IE抱怨的URL(它与用于加载应用程序的URL相同(。
关于:Firefox中的缓存甚至没有列出此应用程序。
CACHE MANIFEST
app.html
即使使用上述简单清单,IE11 和 Firefox 也会报告错误,IE 在控制台中报告清单解析失败错误。
HTML1300: Navigation occurred.
File: app.html
Creating AppCache with manifest: 'http://10.119.103.2/~adf/RMC2/release/beta/app.manifest'.
Cache Event checking Status: 0
Manifest parsing failure: 'http://10.119.103.2/~adf/RMC2/release/beta/app.manifest'.
AppCache Fatal Error
Cache Event error Status: 0
我做错了什么?
更新:
如果我在 ~adf/RMC2/... 中安装 app.manifest 和 app.html...它适用于所有浏览器,当它安装在子文件夹发布/测试版中时,它在 Firefox 和 IE 中不起作用。
为什么?
我最终在Firefox内置appcache验证工具的帮助下解决了这个问题。
Shift+F2
appcache validate
这表示服务器正在为资源发送无存储标头,这与它们在应用程序缓存中冲突。
从服务器上的 .htaccess 中删除了有问题的条目,缓存开始工作。
相关文章:
- JS代码在jsbin中有效,在jsfiddle或Chrome/Safari中无效
- JQuery图像大小计算没有'不能在Chrome/Safari中工作
- 在Chrome/Safari中使用History.pushState重复历史记录条目
- getComputedStyle报告Chrome / Safari / Firefox和IE11之间的不同高度
- 下载画布图像 png Chrome/Safari
- jquery javascript chrome/safari issue
- 外部js click函数在Chrome / Safari中不起作用
- Javascript FF Slow Chrome/Safari FAST
- 创建 Chrome/Safari 扩展程序的先决条件
- Ajax 调用在 chrome/safari 中工作,但在 ff 和 ie 中失败
- Ajax在Chrome / Safari中提交作品,但不能在Firefox / IE中提交作品
- JQuery easySlider 在 Chrome/Safari 中不起作用
- Using onafterprint in Chrome & Safari
- 有了弹性弹跳,Chrome/Safari知道我的手指何时离开触控板.JS知道吗
- 导航栏在移动上折叠,滚动chrome/safari
- Chrome/Safari(webkit)中的JQuery Overlay无法进行更改
- 代码与Firefox一起工作,但不与Chrome, Safari
- jquery脚本不工作在chrome, safari和部分opera, FF是可以的
- 如何在webkit浏览器(chrome/safari)中以编程方式打开新选项卡
- 在Chrome/Safari中剥离表:tr:n -child td的bug