Javascript判断智能手机浏览器
参考: http://www.cnblogs.com/phphuaibei/archive/2011/12/09/2282570.html
var browser = { versions : function () { var u = navigator.userAgent, app = navigator.appVersion; return { trident : u.indexOf('Trident') > -1, //IE内核 presto : u.indexOf('Presto') > -1, //opera内核 webKit : u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 gecko : u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 mobile : !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端 ios : !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android : u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器 iPhone : u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器 iPad : u.indexOf('iPad') > -1, //是否iPad webApp : u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部 linux : u.indexOf('linux') > -1, //加mobile和这个属性一起,可以判断uc浏览器 wp7 : (u.indexOf('WP7') > -1) || (u.indexOf('Windows Phone OS') > -1) //trident IE内核 并且包含WP7标示 windows phone7手机 }; }(), language : (navigator.browserLanguage || navigator.language).toLowerCase() }; document.write("language: " + browser.language + '</br>'); document.write("android: " + (browser.versions.mobile && browser.versions.android) + '</br>'); document.write("iPhone: " + (browser.versions.mobile && browser.versions.iPhone) + '</br>'); document.write("iPad: " + (browser.versions.mobile && browser.versions.iPad) + '</br>'); document.write("Wp7: " + (browser.versions.trident && browser.versions.wp7) + '</br>'); document.write(navigator.userAgent);
1. 对于第三方浏览器,比如百度,QQ,UC等这一类的,很多都比较奇葩。我测试了UC浏览器在windows phone 7上不同机型的值,UserAgent差异很大。
2. 另一方面,windows phone 7在设置中可以设置浏览器的模式,存在Desktop和Mobile两种模式,这2种模式存在不同的UserAgent,需要特别注意。
作者:wjn
出处:http://wjn2010.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
出处:http://wjn2010.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利