【问题标题】:caching kills links (jquery mobile on iPad)缓存杀死链接(iPad上的jquery mobile)
【发布时间】:2011-11-26 16:48:46
【问题描述】:

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

为了启用缓存,我添加了以下代码:并创建了一个包含所有文件(脚本、css、图像、html)的清单文件。有谁知道可能是什么问题?

【问题讨论】:

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

标签: caching jquery mobile jquery-mobile


【解决方案1】:

我在使用清单处理缓存时也遇到过这种情况。我发现 Chrome 没有限制。 iPad 和 iPhone 可以。这似乎很小,大约 5mb。尝试尽可能多地删除图像并在脚本上使用 YUI Compressor。

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

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    相关资源
    最近更新 更多