1

本质上,我希望能够在我的网站上使用 appcache 文件,但仅适用于移动设备,以使这些设备能够查看我正在离线开发的网站/webapp,但是台式机/笔记本电脑通常可以访问互联网,我宁愿这些按原样查看站点,没有清单/缓存等。

我知道用户代理嗅探充其量是不可靠的,尽管可以提供一些好的结果,如果可以避免这种情况,那将是最好的。

我正在开发的站点/webapp 是用 HTML/CSS/JS/PHP 构建的,并使用响应式布局为每个设备提供相同的站点页面,并根据设备宽度(使用 css 媒体查询)使用自定义视图/布局。

感谢您提前提供的任何帮助,我对此的所有搜索都证明是徒劳的:(

更新

在 Robertc 在下面的评论之后,我想澄清一下,我想通过 appcache/manifest 文件排除任何缓存是桌面浏览器(即笔记本电脑上使用的相同浏览器)......这是来自客户端和同样从我看来,以编程方式将台式机和笔记本电脑定位在一起似乎更容易,因为它们使用相同的软件/操作系统...

更具体地说,我的 webapp 需要通过 iOS、Android 和 Blackberry 上的 appcache/manifest 支持缓存(尽管拥有所有平板电脑/智能手机会很好)所以问题可能是如何找到这些设备之一并包含 appcache 参考,但是这看起来像是在引导我希望避免的用户代理嗅探的路径......

4

1 回答 1

3

因为浏览器会在其他一切发生之前检查 Appcache.manifast,所以您必须进行额外的服务器端检测。您无法通过 javascript 加载 appcache.manifest。

如果您收到来自 iphone、ipad、android 等的请求,则在 Useragent 上进行服务器端检测并提供带有清单的 HTML,而在其他情况下则不提供清单。

用户代理检查是最好的方法。您为不伪造用户代理的人提供您的网站。

使用 php 对移动设备进行用户代理测试(只需添加您需要的设备):

于 2012-12-11T08:37:31.967 回答