ASP.NET MVC 离线应用程序 url 问题

发布于 2024-11-06 17:57:28 字数 328 浏览 0 评论 0原文

我有一个 MVC2 网站,我正在尝试在 iPhone 上离线工作。我网站中的所有页面都使用相同的母版页,并且它引用单个缓存清单文件。清单文件中不存在任何特定的 MVC url,但目前还可以,因为一旦访问过一次,它们就会被缓存(它们在初始下载时被缓存)。

我的问题是这样的:如果我有 www.mysite.com/red 或 www.mysite.com/blue 的 url,那么该页面将被缓存在 iphone 上。如果我的网址为 www.mysite.com/red/one 或 www.mysite.com/blue/two,则该页面不会被缓存。

有谁知道为什么会发生这种情况?

非常感谢。

I have an MVC2 web site which I am trying to get working offline on an iPhone. All pages in my site use the same master page, and this references the single cache manifest file. None of the specific MVC urls are present in the manifest file but that is ok for now because they will get cached once they have been visited once (they get cached on initial download).

My problem is this: if I have a url of www.mysite.com/red or www.mysite.com/blue then the page gets cached on the iphone. If I have a url of www.mysite.com/red/one or www.mysite.com/blue/two then the page does not get cached.

Does anyone know why this might be happening?

Thanks very much.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空气里的味道 2024-11-13 17:57:28

缓存清单中列出的文件的 URL 均与包含该清单的文件的位置相关,而不是与清单本身的位置相关。

如果您的网站结构如下:

www.mysite.com/red
www.mysite.com/blue
www.mysite.com/red/one
www.mysite.com/blue/two
www.mysite.com/scripts/site.js
www.mysite.com/css/site.css
www.mysite.com/cache.manifest

并且您的cache.manifest当前看起来像

CACHE MANIFEST
scripts/site.js
css/site.css

它将适用于www.mysite.com/red和www.mysite.com/blue。

要使相同的缓存清单适用于 www.mysite.com/red/one 或 www.mysite.com/blue/two,您应该更改清单以使用绝对网址,如下所示:

CACHE MANIFEST
/scripts/site.js
/css/site.css

The url of the files listed in a cache manifest are all relative to the location of the file that includes the manifest, not the location of the manifest itself.

If your site is structured like:

www.mysite.com/red
www.mysite.com/blue
www.mysite.com/red/one
www.mysite.com/blue/two
www.mysite.com/scripts/site.js
www.mysite.com/css/site.css
www.mysite.com/cache.manifest

And your cache.manifest currently looks like

CACHE MANIFEST
scripts/site.js
css/site.css

It will work for www.mysite.com/red and www.mysite.com/blue .

To make that same cache manifest work for www.mysite.com/red/one or www.mysite.com/blue/two, you should change your manifest to use absolute urls, like this:

CACHE MANIFEST
/scripts/site.js
/css/site.css
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文