0

这是我第一次使用 MVC 3 为具有离线功能的 HTML5 编码。虽然我遇到了一个问题,即移动设备似乎没有缓存并且离线时无法从缓存加载。

我有我的标题设置:

<!DOCTYPE html>
<html manifest="@Url.Content("~/offline.manifest")">   

我的offline.manifest 文件位于应用程序的根目录。由于我的应用程序有一个/Account/Login/Index路由,我将它添加到我的清单文件中:

CACHE MANIFEST
#version 0.0452
CACHE:

#Pages
Account/Login 

也尝试~/Account/Login了页面。

好消息是,我的清单文件适用于 Chrome。所有文件都已加载并被缓存。但是,这对于我的移动设备来说并不相同。

我的 iPhone 运行 5.1.1 和 Nexus S 在 ICS 上运行 Chrome 离线时似乎没有从缓存中加载。我只是关闭了 Wifi 收音机并刷新了页面,但 Safari 和 Chrome 没有从缓存中加载。

我在这里错过了什么吗?任何线索将不胜感激。谢谢

4

1 回答 1

0

感谢 iPhone 的内置控制台日志,我发现我的 IIS 正在以不兼容的 MIME 类型提供清单文件。

我改变了一些东西。首先,我将缓存文件重命名为cache.appcache并在 IIS 中添加了一个新的 MIME 类型,用于扩展.appcache名为text/cache-manifest.

在我做出这些更改并重新加载我的页面后,Mobile Safari 缓存了我的页面。Chrome for Android 现在也运行良好。

于 2013-01-14T07:41:11.003 回答