缓存清单在Chrome,Safari中完美运行,但不是移动Safari

时间:2012-03-03 18:27:08

标签: google-chrome safari mobile-safari offlineapps cache-manifest

尝试使用缓存清单 - Chrome和Safari中的所有功能似乎都运行良好,但移动版Safari无法正常运行。

我确保我遵守HTML5离线应用的标准:

  1. 加 < html manifest =“cache.manifest”> 到已加载的单站点页面

  2. 确保清单的MIME类型正确(在.htaccess中设置): AddType text / cache-manifest .manifest

  3. 有一个语法正确的清单(通过http://manifest-validator.com/验证)。所有资产都以相对路径引用(因此协议中没有变化)。

  4. 我在Chrome和Safari中没有收到任何Javascript错误,并且使用这个方便的片段将相关事件记录到控制台:

    function logEvent(event) {
        console.log(event.type);
    }
    
    window.applicationCache.addEventListener('checking',logEvent,false);
    window.applicationCache.addEventListener('noupdate',logEvent,false);
    window.applicationCache.addEventListener('downloading',logEvent,false);
    window.applicationCache.addEventListener('cached',logEvent,false);
    window.applicationCache.addEventListener('updateready',logEvent,false);
    window.applicationCache.addEventListener('obsolete',logEvent,false);
    window.applicationCache.addEventListener('error',logEvent,false);
    

    但是,在移动版Safari中,我收到“无法获取应用程序缓存清单”错误,以及“检查”和“错误”日志事件,没有其他说明。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

没关系......原来你不能使用.htpasswd背后的清单。禁用它可以解决问题。