我很想知道如何检查 iPhone、iPad 和其他移动浏览器。(JavaScript 或 CSS)
编辑:
请不要使用用户代理字符串。那是可以伪造的。
可能的骗局:
我很想知道如何检查 iPhone、iPad 和其他移动浏览器。(JavaScript 或 CSS)
编辑:
请不要使用用户代理字符串。那是可以伪造的。
可能的骗局:
我会使用WURFL。它是一个包含 10000 多个移动设备的开源 xml 数据库,可以根据user-agent
HTTP 标头值检测(几乎总是)您的移动电话和浏览器功能。
您将获得如下信息:
好多其它的。
PHP、Java 和 .NET 等流行语言都有封装 API,因此您不必自己处理 XML 数据库。
基本上你检查用户代理字符串
见http://www.hand-interactive.com/resources/detect-mobile-javascript.htm
检测 iPhone:
navigator.userAgent.toLowerCase().search("iphone") > -1
一般来说,特征检测比浏览器检测要好,知道用户的浏览器可以做什么比他正在使用什么更好。Modernizer是一个很好的工具。
使用 Modernizr - http://modernizr.com/
Modernizr 是一个 JS 脚本,用于在页面加载时测试浏览器的各种 HTML5 和 CSS3 功能。您可以查看 Modernizr JS 对象,也可以使用它添加到 HTML 元素的类。如果存在“触摸”类,则您有一个触摸屏设备;否则,课程是无接触的。然后你可以在你的 CSS 中做到这一点
.touch .myElement { /* touch device styles */ }
.no-touch .myElement { /* regular browser styles */ }
测试浏览器功能比嗅探用户代理更有用且面向未来。这样,对于您想要添加的每个 CSS3 功能,您都可以轻松地编写一个后备,正如我在这里展示的那样。
使用 javascript 检测 HTTP 用户代理 - 浏览器名称的花哨术语