在网页上检测移动浏览器?

4

2
那又怎样呢?如果可以伪造,那么用户的意图本来就是以那种方式查看网页。 - Andrew
恐怕除了读取浏览器的用户代理字符串之外,没有其他方法可以检测浏览器。 - Octavian Helm
4个回答

7
我会使用WURFL。它是一个开源的xml数据库,拥有超过10000个移动设备,可以通过user-agent HTTP头部值(几乎总是)检测您的移动电话和浏览器功能。
您将获得以下信息:
  1. 屏幕尺寸
  2. XHTML/HTML支持级别
  3. 图形类型支持
还有其他很多信息。
流行语言(如PHP、Java和.NET)都有包装器API,因此您不必自己处理XML数据库。

2

@Moshe 不好意思,请将 iPhone 更改为 iPad 以便检测 iPad。 - Adam

1

使用 Modernizr - http://modernizr.com/

Modernizr 是一个 JS 脚本,它在页面加载时测试浏览器的各种 HTML5 和 CSS3 功能。您可以查看 Modernizr JS 对象,或使用它添加到 HTML 元素的类。如果存在“touch”类,则表示您有一个触摸屏设备;否则,该类为 no-touch。然后您可以在 CSS 中执行以下操作

.touch .myElement { /* touch device styles */ }

.no-touch .myElement { /* regular browser styles */ }

测试浏览器的功能比嗅探用户代理更有用和未来可靠。通过这种方式,对于您想要添加的每个CSS3功能,您都可以轻松编写回退,就像我在这里展示的那样。


0
使用JavaScript检测HTTP用户代理,也就是浏览器的名称。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接