Ajax请求和脱机缓存

时间:2013-11-21 10:55:40

标签: html5 jquery caching html5-appcache

我正在开发一个HTML5应用程序。由于.manifest解决方案,我会缓存所有文件,因此当您无法访问Internet时,可以使用该应用程序。

我希望尽可能将某些数据同步到服务器。由于变量navigator.online似乎不够可靠,我做一个AJAX请求(使用jQuery.get())来检测我是否得到了响应,这意味着用户在线。

问题在于,一旦整个应用程序被缓存,对Internet上的文件的每个AJAX请求都会失败,没有任何理由。我尝试使用Chrome,Firefox和Safari(在iPad上),效果相同。

我使用jQuery.get()来获取属于应用程序(并同时缓存)的某些文件的内容,这些请求可以正常运行。

我首先考虑的是同源问题。所以我试着向https://graph.facebook.com提出请求,只是为了看看我是否得到任何回报。在Chrome控制台中,请求状态为“待处理”,收到0字节。

当我停用清单并清空缓存时,根本没有问题。

你有什么想法或暗示为什么会这样吗?

谢谢:)

PS:英语不是我的母语,所以请原谅(并随意纠正)我可能犯过的任何错误。 :)

1 个答案:

答案 0 :(得分:2)

检查您是否有网络部分。缓存清单文件的网络部分指定Web应用程序需要在线访问的资源。 *是一个匹配所有的通配符。

CACHE MANIFEST
# 2013-11-21:v1

CACHE:
/Content/Site.css
/Scripts/jquery-1.8.2.js

NETWORK:
*

FALLBACK: 
/ /Home/Offline