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