做手机端的前端开发,少不了对手机平台的判断。如,对于 app 下载,就要判断在 Android 平台下就显示 Android 下载提示;在 iOS 平台下就显示 iOS 下载提示
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
今天就为大家介绍一下用 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 等。
下面 phperz 小编为大家补充几个不错的函数
- <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>
亲测,非常好用。
来源: http://www.phperz.com/article/17/0222/266064.html