1

我正在使用 jQuery Mobile 开发网络应用程序。这些应用程序使用数据库来获取价格等(使用 php)。我还使用 appcache 来离线使用这些应用程序。

<html manifest="manifest.appcache">

这一切都完美无缺。但是当我在线时,我不希望应用程序使用 appcache。我怎么做?

我可以通过检查文件是否可用来检查我是否在线/离线:

$.ajax({
    url:'http://someurl.com/online.txt',
    type:'HEAD',
    error: function()
    {
        console.log('offline');
    },
    success: function()
    {
        console.log('online');
    }
});

但是我找不到任何东西让页面使用appcache ..

我错过了什么吗?

4

1 回答 1

1

逐步解决方案:

  1. 检查您是否在线/离线
  2. 如果您在线,请运行一个在 appcache 清单末尾添加 # 的 php 脚本。这是因为如果清单已更改,缓存将被更新。
  3. 交换缓存并刷新页面

在我终于让它工作后,我注意到它在 Firefox 中不起作用,因为 swapCache() 函数。( https://bugzilla.mozilla.org/show_bug.cgi?id=769171 ) 幸运的是我的用户不使用 Firefox..

于 2013-10-18T14:07:52.763 回答