一般来说,你这个需求不难办到。思路无非两条,检测UA以及特性检测。
这两种方法可以说各有利弊。
UA检测来说,比较简单、准确、适用面广并且易扩充。
navigator.userAgent.match(/Android/i) // 判断是否是Android设备通过以上的操作就可以很方便的检测用户使用的是什么设备。并且一次类推,几乎可以判断所有的浏览器。
不过UA检测的缺陷也是非常明显的,就是无法判断伪装的浏览器。大部分浏览器都会修改自己的UA,以适配更多的网站,甚至很多移动端的浏览器还支持自定义UA。所以使用UA检测准确,但不一定正确。
另外就是特性检测,特性检测顾名思义,是通过用户浏览器拥有的特性来检测,例如说判断浏览器是否支持某些内置方法来进行判断,或者通过浏览器的怪癖(例如说有些低版本的IE会在解析某些设置时显得跟别人颇为不同)来进行判断。
他的优势是可以真正的检测到浏览器的类型,识破伪装。
不过劣势是非常明显的,就是比较繁琐,并且很麻烦,浏览器版本升级后可能就失效了。
所以建议你使用UA检测或者jQuery Migrate之类的插件。
追问我需要的是判定设备而不是浏览器,主要判定的就是 iphone ipad 和安桌
我找到一段这样的
居然发布出来,超过最大字数。。。什么玩意儿
明确一点,JS是运行在浏览器中的,他无法超出浏览器,所以JS只能判断浏览器的特性。
至于UA中的内容,是浏览器生成的,一般情况下,浏览器会在UA中添加相应的操作系统信息。
所以对设备或者系统的判断,其实还是基于对浏览器的判断。
UA是什么东西,是一种语言工具么?可否像js一样直接放入网页中使用,麻烦给我一段代码,具体内容为
判定设备为 安卓手机,安卓平板,pc,iphone,ipad
判定后页面跳转到 xxxx
一般是通过获取useragent来判断是什么设备来访问的页面
我这边有个dz里面的php函数,你可以相应的改变下弄成js的