html扩展名用于保存清单文件,html5 – HTML 5缓存清单是否也适用于ajax请求?

我正在尝试使用ASP MVC 3网站获得

HTML 5离线应用程序缓存.我得到的问题是

当我尝试在离线模式下导航到页面时,它不起作用.

我正在使用清单文件的操作,以便可以动态生成它,并在我指定的视图中

Resonse.ContentType =“text / cache-manifest”.

这是我正在使用的清晰视图.它使用剃刀视图引擎,有点乱(硬编码的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", "http://192.168.55.127", Url.Content(cssFile))

}

#Images

@foreach(var imageFile in Url.GetImageFiles())

{

@string.Format("{0}{1}\r\n", "http://192.168.55.127", Url.Content(imageFile))

}

#HTML Pages

@string.Format("{0}{1}", "http://192.168.55.127", Url.Content("~/pages/master.htm"))

@string.Format("{0}{1}", "http://192.168.55.127", Url.Content("~/pages/home.htm"))

@string.Format("{0}{1}", "http://192.168.55.127", 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

这似乎很好.

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

这似乎没问题,因为当我用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中尝试过它(因为它也有离线模式)并且发生了同样的事情.

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值