js判断手机浏览器操作系统和微信浏览器的方法

 更新时间:2016年04月30日 12:56:19   投稿:mdxy-dxy  
做手机端的前端开发,少不了对手机平台的判断。如,对于app下载,就要判断在Android平台下就显示Android下载提示;在iOS平台下就显示iOS下载提示

今天就为大家介绍一下用js判断手机客户端平台及系统平台的方法:

<script type="text/javascript">
//手机端判断各个平台浏览器及操作系统平台
function checkPlatform(){
	if(/android/i.test(navigator.userAgent)){
		document.write("This is Android'browser.");//这是Android平台下浏览器
	}
	if(/(iPhoneiPadiPodiOS)/i.test(navigator.userAgent)){
		document.write("This is iOS'browser.");//这是iOS平台下浏览器
	}
	if(/Linux/i.test(navigator.userAgent)){
		document.write("This is Linux'browser.");//这是Linux平台下浏览器
	}
	if(/Linux/i.test(navigator.platform)){
		document.write("This is Linux operating system.");//这是Linux操作系统平台
	}
	if(/MicroMessenger/i.test(navigator.userAgent)){
		document.write("This is MicroMessenger'browser.");//这是微信平台下浏览器
	}
}
 $(document).ready(function(){
  alert(navigator.platform);
  checkPlatform();
 });
</script>

注意上面的代码使用了jquery。需要加载jquery才可以运行。当然你可以把触发函数给删除了

在这里就不做pc端操作系统平台的判断了,怎么判断也说下方法,如用document.write(navigator.platform);就可以获得操作系统平台。在win32下就会显示Win32,;在Win64下就会显示Win64等。

下面脚本之家小编为大家补充几个不错的函数

<script type="text/javascript">
var browser = {
	versions : function () {
		var u = navigator.userAgent,
		app = navigator.appVersion;
		return {
			trident : u.indexOf('Trident') > -1,
			presto : u.indexOf('Presto') > -1,
			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/),
			android : u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
			iPhone : u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1,
			iPad : u.indexOf('iPad') > -1,
			webApp : u.indexOf('Safari') == -1,
			QQbrw : u.indexOf('MQQBrowser') > -1,
			weiXin : u.indexOf('MicroMessenger') > -1,
			ucLowEnd : u.indexOf('UCWEB7.') > -1,
			ucSpecial : u.indexOf('rv:1.2.3.4') > -1,
			ucweb : function () {
				try {
					return parseFloat(u.match(/ucweb\d+\.\d+/gi).toString().match(/\d+\.\d+/).toString()) >= 8.2
				} catch (e) {
					if (u.indexOf('UC') > -1) {
						return true;
					} else {
						return false;
					}
				}
			}
			(),
			Symbian : u.indexOf('Symbian') > -1,
			ucSB : u.indexOf('Firefox/1.') > -1
		};
	}
	()
}
if (browser.versions.QQbrw){
document.write("qq浏览器");
}else
{
document.write("其它浏览器");
}
</script>

亲测,非常好用。

相关文章

  • 遍历js中对象的属性和值的实例

    遍历js中对象的属性和值的实例

    下面小编就为大家带来一篇遍历js中对象的属性和值的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 原生javascript实现图片弹窗交互效果

    原生javascript实现图片弹窗交互效果

    这篇文章主要介绍了原生javascript实现图片弹窗交互效果的方法及的相关资料,需要的朋友可以参考下
    2015-01-01
  • js 对象外部访问或者调用问题

    js 对象外部访问或者调用问题

    造成楼主的模糊的其实是this指向的问题,你可以用alert出this看看,他们分别指向的是什么,相信您就会明白了! 在您写的那个c中的this其实指向的是c 而不是abc!
    2008-11-11
  • js 控制页面跳转的5种方法

    js 控制页面跳转的5种方法

    这篇文章介绍了js 控制页面跳转的5种方法,有需要的朋友可以参考一下
    2013-09-09
  • 使用ImageMagick进行图片缩放、合成与裁剪(js+python)

    使用ImageMagick进行图片缩放、合成与裁剪(js+python)

    由于需要在服务器端处理,使用就研究使用imagemagick来进行。同时准备封装了一个Node.js和Python的方法,主要还是讲一下然后使用imagemagick来对图片进行缩放、合成后进行裁剪吧
    2013-09-09
  • webapi根据id获取元素的实现思路

    webapi根据id获取元素的实现思路

    掌握document.getElementById() 根据id获取元素,在页面画出一个宽200 高200 粉色的盒子, 在控制台打印这个盒子,接到这样的需求如何处理呢,下面小编给大家分享webapi根据id获取元素的实现思路,感兴趣的朋友一起看看吧
    2024-02-02
  • 关于layer.js使用心得-向弹出框传值问题

    关于layer.js使用心得-向弹出框传值问题

    这篇文章主要介绍了关于layer.js使用心得-向弹出框传值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 利用jsPDF实现将图片转为pdf

    利用jsPDF实现将图片转为pdf

    这篇文章主要为大家详细介绍了如何利用jsPDF实现将图片转为pdf的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-08-08
  • JS实现的简单拖拽功能示例

    JS实现的简单拖拽功能示例

    这篇文章主要介绍了JS实现的简单拖拽功能,涉及javascript鼠标事件响应及页面元素属性动态操作相关技巧,需要的朋友可以参考下
    2017-03-03
  • iscroll动态加载数据完美解决方法

    iscroll动态加载数据完美解决方法

    这篇文章主要为大家详细介绍了iscroll动态加载数据的完美解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07

最新评论