我正在尝试使用ASP MVC 3网站获得 HTML 5离线应用程序缓存.我得到的问题是
当我尝试在离线模式下导航到页面时,它不起作用.

我正在使用清单文件的操作,以便可以动态生成它,并在我指定的视图中
Resonse.ContentType =“text / cache-manifest”.

我已经在IIS中本地托管了应用程序,因此我使用http://192.168.55.127/mywebsite/来访问它.

这是我正在使用的清晰视图.它使用剃刀视图引擎,有点乱(硬编码的URL等)
而我试图弄清楚什么是错的.

@{
     Layout = null;
     Response.ContentType = "text/cache-manifest";
}
CACHE MANIFEST

# Version: @ViewBag.Version

CACHE:
#Script Files
@foreach(var jsFile in Url.GetJsFiles())
{
     @string.Format("{0}{1}\r\n","http://192.168.55.127",Url.Content(jsFile))
}

#Style Sheets
@foreach(var cssFile in Url.GetCssFiles())
{
     @string.Format("{0}{1}\r\n",Url.Content(cssFile))
}

#Images
@foreach(var imageFile in Url.GetimageFiles())
{
     @string.Format("{0}{1}\r\n",Url.Content(imageFile))
}

#HTML Pages
@string.Format("{0}{1}",Url.Content("~/pages/master.htm"))
@string.Format("{0}{1}",Url.Content("~/pages/home.htm"))
@string.Format("{0}{1}",Url.Content("~/pages/options.htm"))

NETWORK:
*

这导致如下路径:

http://192.168.55.127/mywebsite/scripts/Libs/jQuery.js
http://192.168.55.127/mywebsite/pages/home.htm

这似乎很好.

我也使用完整路径引用了清单文件:

<html manifest="http://192.168.55.127/mywebsite/manifest">

这似乎没问题,因为当我用chrome加载网站并观察开发者控制台时,就会出现
缓存所有文件而不会抛出任何错误.如果我导航到http://192.168.55.127/mywebsite/manifest
正如我期望的那样,它可以提供清单.

该网站不使用普通导航,而是使用散列片段导航 – 因此要导航到home,url将是master.htm #home或者选项将是master.html#options.这个哈希更改由javascript拾取,它使用ajax将页面加载到master中的div容器中,更具体地说,它使用jQuery中的’load’方法来执行此操作.

这一切在不处于脱机模式时都能正常工作,并且在导航时观察chrome中的网络选项卡时,请求URL是正确的,并且与清单文件中列出的URL相同.我唯一能想到的是离线模式不适用于ajax请求,但我的印象是它的工作方式相同.

我正在使用FireFox(版本9.0)测试离线模式,方法是清除所有历史记录,浏览到网站主页,启用离线模式,然后尝试导航到选项页面.在firebug中,我看到GET请求选项页面的正确URL,但它永远不会返回,甚至不会出错.加载轮(在firebug中的网络选项卡中的请求旁边)只是保持转动,就像它仍在加载一样.我也在Opera 11.60中尝试过它(因为它也有离线模式)并且发生了同样的事情.

任何人对我做错了什么有任何想法?我是否错过了一些明显或误解清单应如何工作的东西?任何建议将不胜感激.

解决方法

(我知道这个问题很老但是为了将来参考…)

如果AJAX内容文件正确地列在AppCache清单文件中(它们似乎是),那么这应该可行.就个人而言,我会使用相对而不是绝对的路径,但这不应该有所作为.

您的问题似乎是清单文件没有文件扩展名.尝试将文件(及其在master.htm中的引用)重命名为appcache.manifest或类似文件.然后,您需要确保在服务器中设置清单文件的MIME类型.例如.对于Apache,你可以添加如下内容:

AddType text/cache-manifest .manifest

到服务器的配置文件或.htaccess文件.

此外,除了在测试时清除缓存数据,还要确保在更改清单文件时至少刷新页面几次,因为浏览器会检查更新并在单独的页面加载中下载文件.

最后,如果您使用AJAX提取的文件在URL中具有参数,则无效. ?id = 1234,但未在清单文件中列出.这似乎不是这种情况,但需要注意的是.

html5 – HTML 5缓存清单是否也适用于ajax请求?的更多相关文章

  1. 使用HTML5做的导航条详细步骤

    这篇文章主要介绍了用HTML5做的导航条详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. 详解HTML5中的picture元素响应式处理图片

    这篇文章主要介绍了详解HTML5中的picture元素响应式处理图片,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  3. html5利用canvas实现颜色容差抠图功能

    这篇文章主要介绍了html5利用canvas实现颜色容差抠图功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  4. HTML5拖拽功能实现的拼图游戏

    本文通过实例代码给大家介绍了HTML5拖拽功能实现的拼图游戏,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

  5. HTML5实现直播间评论滚动效果的代码

    这篇文章主要介绍了HTML5实现直播间评论滚动效果的代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. 详解使用双缓存解决Canvas clearRect引起的闪屏问题

    这篇文章主要介绍了详解使用双缓存解决Canvas clearRect引起的闪屏问题的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. 使用Html5多媒体实现微信语音功能

    这篇文章主要介绍了使用Html5多媒体实现微信语音功能,需要的朋友可以参考下

  8. HTML5 播放 RTSP 视频的实例代码

    目前大多数网络摄像头都是通过 RTSP 协议传输视频流的,但是 HTML 并不标准支持 RTSP 流。本文重点给大家介绍HTML5 播放 RTSP 视频的实例代码,需要的朋友参考下吧

  9. html5 拖拽及用 js 实现拖拽功能的示例代码

    这篇文章主要介绍了html5 拖拽及用 js 实现拖拽,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  10. HTML5自定义视频播放器源码

    这篇文章主要介绍了HTML5自定义视频播放器源码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

随机推荐

  1. 微信小程序canvas实现水平、垂直居中效果

    这篇文章主要介绍了小程序中canvas实现水平、垂直居中效果,本文图文实例代码相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

  2. 使用HTML5做的导航条详细步骤

    这篇文章主要介绍了用HTML5做的导航条详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. H5最强接口之canvas实现动态图形功能

    这篇文章主要介绍了H5最强接口之canvas实现动态图形功能,需要的朋友可以参考下

  4. Canvas高级路径操作之拖拽对象的实现

    这篇文章主要介绍了Canvas高级路径操作之拖拽对象的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  5. html5视频自动横过来自适应页面且点击播放功能的实现

    这篇文章主要介绍了h5视频自动横过来自适应页面且点击播放,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. 详解HTML5中的picture元素响应式处理图片

    这篇文章主要介绍了详解HTML5中的picture元素响应式处理图片,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. canvas像素点操作之视频绿幕抠图

    这篇文章主要介绍了canvas像素点操作之视频绿幕抠图的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  8. html5利用canvas实现颜色容差抠图功能

    这篇文章主要介绍了html5利用canvas实现颜色容差抠图功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  9. canvas绘制视频封面的方法

    这篇文章主要介绍了canvas绘制视频封面的方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. HTML5拖拽功能实现的拼图游戏

    本文通过实例代码给大家介绍了HTML5拖拽功能实现的拼图游戏,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

返回
顶部