我正在开发
HTML5应用程序.由于.manifest解决方案,我缓存了所有文件,因此当您无法访问Internet时,可以使用该应用程序.
我想尽可能将一些数据同步到服务器.由于变量navigator.online似乎不够可靠,我做一个AJAX请求(使用jQuery.get())来检测我是否得到了响应,这意味着用户在线.
问题是,一旦整个应用程序被缓存,对Internet上文件的每个AJAX请求都会失败,没有任何理由.我尝试使用Chrome,Firefox和Safari(在iPad上),结果相同.
我使用jQuery.get()来获取属于应用程序(并同时缓存)的某些文件的内容,这些请求完美无缺.
我首先考虑了同源问题.所以我试着向https://graph.facebook.com做了一个请求,只是为了看看我是否得到任何回报.在Chrome控制台中,请求状态为“待处理”,收到0字节.
当我停用清单并清空缓存时,根本没有问题.
你有什么想法或暗示为什么会这样吗?
谢谢 :)
PS:英语不是我的母语,所以请原谅(并随意纠正)我可能犯过的任何错误. 🙂
最佳答案 检查您是否有网络部分.缓存清单文件的网络部分指定Web应用程序需要在线访问的资源. *是一个匹配所有的通配符.
CACHE MANIFEST
# 2013-11-21:v1
CACHE:
/Content/Site.css
/Scripts/jquery-1.8.2.js
NETWORK:
*
FALLBACK:
/ /Home/Offline