0

我无法在 iPad ios 5 上运行应用程序缓存。我的 Intranet 上有一个站点,如果我使用 Safari 或 Chrome,缓存清单被读入,文件被下载到缓存以供离线使用利用。

我已将此日志记录功能添加到我的页面:

function logEvent(e) {
        var online, status, type, message;
        online = (navigator.onLine) ? 'yes' : 'no';
        status = cacheStatusValues[cache.status];
        type = e.type;
        message = 'online: ' + online;
        message += ', event: ' + type;
        message += ', status: ' + status;
        if (type == 'error' && navigator.onLine) {
            message += ' (prolly a syntax error in manifest)';
        }
        console.log(message);
    }

在桌面浏览器上,我收到以下消息:

Application Cache Checking 事件 Application Cache NoUpdate 事件在线:是,事件:检查,状态:空闲 /IM/:76 在线:是,事件:noupdate,状态:空闲

但是,对于 iPad,应用程序缓存不会被读取。应该注意的是,由于公司政策,iPad 需要通过备用网络连接到网站。我用 iPad 收到的信息是:

在线:是,事件:检查,状态:未缓存在线:是,事件:错误,状态:未缓存(可能是语法错误)

我们正在使用 IIS 为该站点提供服务,并且我们为 .appcache 添加了一个 MIME 类型,以用作文本/缓存清单。我确实从我的桌面在 Fiddler 中记下了,当我请求该页面时,它返回:

结果 协议 主机 URL 正文 缓存 内容类型 进程 注释 自定义

5 401 HTTP 10.6.4.247 /IM/cache.appcache 1,539 文本/html chrome:9976

Fiddler 说它是作为 text/html 提供的,但由于我们在代理后面,所以状态码是 401。

我不知道如何进一步调试,有人知道如何解决这个问题吗?

谢谢!

4

0 回答 0