用JavaScript判断前端运行环境

在前端应用里,有时候我们需要根据运行环境的不同做出对应处理。

我们打开Chrome开发者工具,在console标签页输入navigator,回车,会发现这个对象包含了非常多的有用信息。

其中有个字段platform: 我如果在安装了Windows系统的电脑上使用Chrome,该值为Win32。

另一个重要的字段为userAgent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36

具体判断方法如下:
方法一:

 function judgeEnvironment(){
        let userAgent = window.navigator.userAgent.toLowerCase();
        let platform = window.navigator.platform
        // web
        if (platform == 'Win32' || platform == 'MacIntel') {
            return 'web'
        }
        // android
        if (userAgent.match(/android/) && userAgent.match(/android/)[0] == 'android') {
            return 'android'
        }
        // ios
        if (userAgent.match(/iphone os/) && userAgent.match(/iphone os/)[0] == 'iphone os') {
            return 'ios'
        }
}

方法二:

  function judgeEnvironment(){
        var u = navigator.userAgent, app = navigator.appVersion;
        var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g
        var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
        if (isAndroid) {
        //这个是安卓操作系统
          return 'android'
        }
        if (isIOS) {
        //这个是ios操作系统
          return 'ios'
        }


    }

实际运用中

 function fn() {
        if(judgeEnvironment()=="android"){
           //执行Android代码块    
        }else if(judgeEnvironment()=="ios"){
           //执行ios代码块
        }else{
          //执行web代码块
        }
    };

总结:  能996上班是我的福气,如果可以就007吧!

发布了28 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/yuanmengdage/article/details/89296457