问题 HTML 5 Appcache适用于safari / opera / chrome但不适用于firefox


我在网站上运行了一个html5 appcache,它在Safari,Opera和Chrome中运行良好,但它无法在Firefox上运行。

我的代码中有以下内容:

<!DOCTYPE HTML>
<html manifest="./manifest.appcache">
<head>

以及manifest.appcache文件:

CACHE MANIFEST
/
/accessibility
/anchoring
/areas-of-application-in-business
/calibrating-rep-system-preferences
/circle-of-excellence
/collapse-anchors
/contrastive-analysis-and-mapping-across
/convincers
/creating-an-air-of-authority
/decision-making
/elicitation-of-submodalities
/embedded-commands
/embedded-commands-2
/eye-patterns
/four-types-of-feedback
/home
/how-to-remember-names
/introduction-to-anchoring
/introduction-to-nlp
/key-elements-of-the-meta-model
/language-and-communication-model
/language-patterns
/leadership
/modelling
/my-action-plan
/new-behaviour-generator
/nlp-presuppositions
/outcome-thinking
/pacing-and-leading
/perceptual-positions
/predicate-phrases
/predicates
/preference-test
/presupposition-cards
/presuppositions
/privacy
/rapport
/rapport-pacing-and-leading
/representational-systems
/sensory-acuity
/strategies
/structure-for-adjusting-feedback
/structure-of-nlp-techniques
/structure-vs-content
/submodalities
/submodalities-and-strategies
/submodalities-checklist
/terms-and-conditions
/the-6-deadly-words
/the-meta-mirror
/the-power-of-presuppositions
/the-problem-frame-and-the-outcome-frame
/user-profile
/well-formed-outcomes
/what-is-nlp
/userImages/nlp_language_comm.png
/css/mobile.css
/css/style.css


# Hash: a4e8f4f6a4dd45dd3e8acdaae8546a0a

我正在使用此处的代码: http://jonathanstark.com/blog/2009/09/27/debugging-html-5-offline-application-cache/ 调试appcache并在站点上显示输出。

在firefox中,调试代码的输出显示它下载所有文件并调用交换缓存。如果我然后断开与互联网的连接并点击应该已经下载的另一个页面的链接,我在Firefox中获得了无法连接的消息,而在Safari,Opera和Chrome中执行相同操作则可以正常工作。

任何帮助和建议将不胜感激。

谢谢 史蒂夫


7130
2017-09-16 10:24


起源

听起来你的Firefox没有进入离线模式,它可能认为你仍然连接到互联网。单击Firefox按钮,在“Web Developer”子菜单中选中“脱机工作”,看看是否是原因。 - Wladimir Palant
我刚试过这个,它会显示离线模式错误页面。 - Steve Jones


答案:


查看服务器是否为生成的文件设置了no-cache / no-store标头。然后,Firefox将忽略该清单,与其他浏览器相反。


11
2017-07-24 14:21



是的,这是正确的解决方案。我遇到了类似的问题,这有助于解决我的问题。 - Nitesh
我还发现这是谷歌应用引擎中的一个解决方案,它在Chrome中运行良好,但在Firefox中无法运行(每次加载页面时,updateready事件都会继续触发)。使用空字符串覆盖默认应用程序引擎Cache-Control标头似乎已停止此错误行为。 - notreadbyhumans
这应该被标记为正确的解决方案。 - Jagtesh Chadha


我有类似的问题。问题是FireFox缓存文件更积极,所以我不得不添加这些标头:

对于清单:

Pragma: no-cache
Cache-Control: no-cache
Expires: date

对于文件:

Last-Modified: date
Cache-Control: no-cache
Expires: date

更换 date 由RFC 1123格式化当前日期。


4
2018-03-14 22:16





检查是否设置了no-cache / no-store标头


1
2018-02-13 11:45





我有类似的问题。

  1. 确保清单文件以“text / cache-manifest”类型提供
  2. 不要在Firefox / IE的私密浏览模式下试用它。它仅适用于常规浏览模式。但它适用于Chrome中的两种模式
  3. 离线时,URL中的简单更改可能是个问题

    • http://localhost:8080/app 不适用于Firefox / IE
    • http://localhost:8080/app/ 适用于Firefox / IE

    它们都适用于Chrome

  4. 使用这些方便的资源查看器可以获得更详细的视角
    • about:cache  - Firefox
    • chrome://appcache-internals/  - Chrome

如果有人知道IE的内容,请填写。


1
2018-04-09 16:21





在Firefox首选项 - >高级 - >网络中,在“以下网站已存储的数据供离线使用:”列表中,您是否看到了您的网站?如果是这样,请尝试从列表中清除您的网站,然后重新加载您的网站。


0
2017-09-16 23:59



它显示在列表中,所以我清除它仍然没有工作。谢谢你的建议。 - Steve Jones
你可以发布一个到实际网站的链接吗?此外,cotangent.co(我的)会在FF中为您缓存吗?如果是这样,请查看源代码并将缓存代码复制到您的站点中。使用.htaccess文件只包含以下行“AddType text / cache-manifest appcache manifest”(显然没有引号)。如果可行,请将项目一次一个地添加回清单文件,直到出现故障。 - Earl Zedd
嗨metahack。我看了你的网站,它确实工作正常。我唯一能想到的是我的网站(steve-j.co.uk)没有实际的.html页面。它是使用cms动态生成的。也许这会导致FF出现问题,但奇怪的是它仍适用于其他浏览器。 - Steve Jones
看起来像steve-j.co.uk包含一些不在清单中的幻灯片图像的链接 - 也许Firefox javascript试图运行幻灯片并挂起页面。尝试暂时删除幻灯片或在主页上执行查看源,并确保您看到的每个链接都在清单中。什么是你的CMS? - Earl Zedd


Earl的上述答案适用于我,同时关闭了FireBug。

在Firefox首选项 - >高级 - >网络中,在“以下内容中   网站存储了数据供离线使用:“列表,你看到你的   网站?如果是这样,请尝试从列表中清除您的网站,然后   重新加载您的网站。


-1
2017-09-18 23:19





我也面临同样的问题;这个标题对我来说很合适。

Content-Type:text / cache-manifest


-1
2017-08-07 11:04