【问题标题】:How to disable HTML5 application cache in Firefox specifically如何在 Firefox 中专门禁用 HTML5 应用程序缓存
【发布时间】:2011-08-26 18:47:39
【问题描述】:

由于 Firefox 在使用 HTML5 应用缓存时提示用户存储数据,我想在 Firefox 中禁用它以避免提示通知。

一种方法是提供两种不同的 HTML 文件:一种用于 Firefox,<html>,另一种用于其他浏览器,<html manifest=...>

但为了提高效率,我想提供一个静态文件。

那么如何在 Firefox 中使用 <html manifest=...> 提供文件时禁用应用程序缓存?

【问题讨论】:

  • about:config 中有一个 dom.storage.enabled 设置,应该可以满足您的需求。
  • @Marc:我不认为他想在他的个人网络浏览器中禁用它。
  • “一个静态文件”。由于这意味着服务器无法破坏文件,因此需要更改浏览器设置。
  • @Marc B:我是从 Web 开发人员的角度说的。由于您的设置是用户设置和全局设置,因此我无法将其更改为网站
  • 那么你需要在网站上做一些动态的事情。某些浏览器会嗅探并将无缓存版本提供给任何声称是 Firefox 的浏览器。

标签: html firefox web-applications application-cache


【解决方案1】:

在页面加载之前不会检查manifest 属性。这意味着您可以在页面加载时将其删除,并且不会出现提示。像这样:

<script type="text/javascript">
  if (window.navigator.product == "Gecko")
    document.documentElement.removeAttribute("manifest");
</script>

这当然假设所有 Gecko 浏览器都需要因为这个提示而被永久禁止。绝对不好,特别是因为提示可能会在将来的某个时候消失。但我看不到检测浏览器是否会提示用户存储 Web 应用程序以供离线使用的正确方法。

【讨论】:

  • 这行得通。千恩万谢。我下意识地错误地假设它会在加载页面之前被检查:)。是的,我很想为 Firefox 启用 appCache,但对我来说,提示是不行的,顺便说一句,从我的角度来看,这是 Firefox 的一种缺陷
  • window.navigator.product 在 Safari 和 Chrome 中也是“Gecko”!此外,这项工作似乎是一个意外,违反了 HTML5 规范,该规范说“应用程序缓存选择发生在 HTML 解析器中”。 (w3.org/TR/html5/browsers.html#read-html)
【解决方案2】:

使用 iframe 安装 applicationCache;这样您就可以使用按钮提示用户,并在他们单击该按钮后加载 iframe。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 2017-08-17
    • 2016-11-06
    • 2011-09-09
    • 1970-01-01
    • 2012-02-17
    相关资源
    最近更新 更多