Caching 缓存杀死链接(iPad上的jquery mobile)

Caching 缓存杀死链接(iPad上的jquery mobile),caching,jquery,mobile,jquery-mobile,Caching,Jquery,Mobile,Jquery Mobile,我正在开发一个Web应用程序,它使用缓存使其脱机可用。运行chrome(离线和在线)时一切正常。但当我在iPad上运行它时,链接就不再起作用了,我无法在任何地方加载页面。删除缓存会使链接再次工作,因此它显然与缓存有关。在Safari中,直接导航到webapp的单独页面也可以正常工作,这是导致错误的链接。默认情况下,jQuery Mobile中的所有链接都使用AJAX加载。通过添加rel=“external”来改变这一点也解决了问题,但显然我不想这样做 为了启用缓存,我添加了以下代码:并创建了一个

我正在开发一个Web应用程序,它使用缓存使其脱机可用。运行chrome(离线和在线)时一切正常。但当我在iPad上运行它时,链接就不再起作用了,我无法在任何地方加载页面。删除缓存会使链接再次工作,因此它显然与缓存有关。在Safari中,直接导航到webapp的单独页面也可以正常工作,这是导致错误的链接。默认情况下,jQuery Mobile中的所有链接都使用AJAX加载。通过添加rel=“external”来改变这一点也解决了问题,但显然我不想这样做


为了启用缓存,我添加了以下代码:并创建了一个包含所有文件(脚本、css、图像、html)的清单文件。有人知道问题出在哪里吗?

我在使用清单进行缓存时也遇到过这种情况。我发现Chrome没有限制。iPad和iPhone都可以。这看起来相当小,大约5mb。尝试尽可能多地删除图像,并在脚本上使用YUI压缩程序

Ajax请求实际上可以被缓存,系统不关心该请求是由Ajax还是普通的完整请求。您所要做的就是将希望通过ajax检索的URL像其他资产一样放入清单中


希望这有帮助

我发现您无法缓存ajax请求。使用jquery mobile离线的唯一方法是删除所有ajax链接(这不是一个选项,因为我必须使用外部链接),或者将整个应用程序放在一个html文件中(这不是理想的,但目前是最好的解决方案)。