gpt4 book ai didi

html - 缓存 list 在联机时弄乱了我的应用程序

转载 作者:行者123 更新时间:2023-11-28 00:23:13 25 4
gpt4 key购买 nike

SO 大师

我正在尝试使用 CACHE MANIFEST/HTML5。我的应用程序是 JS 重,构建在 jquery/jquerymobile 上。

这是我的 list 的摘录

CACHE MANIFEST
FALLBACK:
/
NETWORK:
*
CACHE:
/css/style.css
/js/jquery.js

但不知何故,应用程序并没有在第一次加载文件,整个应用程序崩溃了。

  • 我的格式有误吗?
  • 我永远不应该将 JS 加载到缓存中吗?
  • 我应该如何区别对待这个问题,以便在任何内容不可用时始终首先检查网络,并且只加载缓存中可用的内容?

谢谢。

最佳答案

我用你的缓存 list 尝试了一个简单的页面,它对我来说工作正常,所以我不太确定问题出在哪里。但是,

  1. 是的,格式有问题。 FALLBACK 部分中的条目需要包含两部分:模式和 URL。这表示“如果与模式匹配的任何页面离线不可用,则显示 URL(将被缓存)。”这个 (as shown here) 的主要示例是“//offline.html”,意思是“对于所有页面,如果我们处于离线状态且它们未被缓存,则显示/offline.html。”但是,我认为这不是您问题的根源,因为我使用您的确切 list 对其进行了测试并且它仍然有效。
  2. JS 文件没有什么特别之处。将它们加载到缓存中应该没问题。
  3. 我不明白第三个问题。这里可能有两个目标:a) 在返回到缓存之前,您如何首先检查在线是否有更新版本的文件可用,以及 b) 您如何检查网络以查看是否有更新版本的文件未缓存的文件,如果我们处于离线状态,则返回到错误页面。 (a) 的答案是,一旦您打开缓存 list ,事情就会大不相同。它从不检查文件的新版本,除非也有新版本的 list 。因此,无论何时更改任何文件,都必须始终更新 list 。 (b) 的答案是 FALLBACK 部分。

参见 Dive Into HTML5关于这一点的精彩章节,特别是“调试的艺术,又名“杀了我!现在杀了我!””一节,它解释了 list 如何更新。

此外,我认为我们还没有深入了解您的问题,因为不清楚您所说的“应用程序本身不会在第一次加载文件”是什么意思。哪些文件不加载?刷新后它们是否正确加载?等等

关于html - 缓存 list 在联机时弄乱了我的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7570690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com