为提升您的使用体验,本站正在维护,部分功能暂时无法使用。如果本站文章无法解决您的问题,您想要向社区提问的话,请到 Twitter 上的 @FirefoxSupport 或 Reddit 上的 /r/firefox 提问,我们的支持社区将会很快回复您的疑问。

搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

window.applicationCache.status never only returns 0 or 1

  • 3 个回答
  • 4 人有此问题
  • 2 次查看
  • 最后回复者为 bkauffman

more options

I have am using a manifest file to cache pages for a web app. By changing the version # in my manifest file updates are then pushed to apps in Chrome, Safari, and IE....but not in Firefox. I got this chunk of code directly from a Mozilla forum:

  function onUpdateReady(){
   window.applicationCache.swapCache();
  }
  window.applicationCache.addEventListener('updateready', onUpdateReady);
  if(window.applicationCache.status === window.applicationCache.UPDATEREADY){
   onUpdateReady();
  }

I used jQuery to alert window.applicationCache.status, which in Firefox only returns either 0 or 1....never 4 as it should when a change to the manifest file has been made. Am I missing something, or is this a bug?

 I should mention that this is what my .htaccess file looks like:
AddType text/cache-manifest .manifest
ExpiresActive On

<Files index.html>
Header append Cache-Control "public, must-revalidate"
</Files>
I have am using a manifest file to cache pages for a web app. By changing the version # in my manifest file updates are then pushed to apps in Chrome, Safari, and IE....but not in Firefox. I got this chunk of code directly from a Mozilla forum: <pre><nowiki> function onUpdateReady(){ window.applicationCache.swapCache(); } window.applicationCache.addEventListener('updateready', onUpdateReady); if(window.applicationCache.status === window.applicationCache.UPDATEREADY){ onUpdateReady(); } </nowiki></pre> I used jQuery to alert window.applicationCache.status, which in Firefox only returns either 0 or 1....never 4 as it should when a change to the manifest file has been made. Am I missing something, or is this a bug? I should mention that this is what my .htaccess file looks like: <pre><nowiki>AddType text/cache-manifest .manifest ExpiresActive On <Files index.html> Header append Cache-Control "public, must-revalidate" </Files></nowiki></pre>

由cor-el于修改

所有回复 (3)

more options

It does not look like it: https://developer.mozilla.org/en-US/d.../Using_the_application_cache

  • Does is have MIME type text/cache-manifest.
  • Is the .htacess file within either the root directory, or the same directory as the application.
  • In the .appache file, do you have a ExpiresByType text/cache-manifest "access plus 0 seconds"

Another reference I found: https://developer.mozilla.org/en-US/d.../Application_cache_implementation_overview#Updating_an_existing_cache_or_first_download_of_an_offline_cache

If it is not working as expected, definately file a bug in [bugzilla.mozilla.org]

more options

See also [/questions/993853] (locked)

more options

1. My .htaccess file has: AddType text/cache-manifest .manifest 2. The .htaccess file is in the root. 3. Per your suggestion I added: ExpiresByType text/cache-manifest "access plus 0 seconds"...still nothing. Updates to the .manifest file are noticed in Chrome, Safari, and IE....but still not in Firefox.

 Using the error console I get this message: "Offline cache doesn't need to update". All my files are getting cached, and the site works as it should in off-line mode...Firefox just isn't seeing changes that I make to my .manifest file.

由bkauffman于修改