vue判断安卓还是IOS

vue判断是安卓还是IOS

写博客是为了做笔记

最近工作上遇到这样一个需求:vue写的页面,需要同时跟安卓和ios进行交互;
若是安卓,执行代码:android.finishActivity();
若是IOS,执行代码:

	try { 
   	window.webkit.messageHandlers.finishActivity.postMessage(""); 
   	}catch(error) { 
            console.log('WKWebView post message');
     }

所以我们需要进行一个判断,是安卓还是IOS:(因为是做的单独的APP所以没有考虑微信的问题)

finishActivity() {
        let ua = navigator.userAgent.toLowerCase();
        //android终端
        let isAndroid = ua.indexOf('Android') > -1 || ua.indexOf('Adr') > -1; 
        //ios终端
        let isiOS = !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
        
          if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
            //ios
            console.log(" 我是ios")
            //这里是和IOS商量好的写法,调用IOS的finishActivity方法
            try { 
              window.webkit.messageHandlers.finishActivity.postMessage(""); 
            }catch(error) { 
                console.log('WKWebView post message');
              }
          } else(/(Android)/i.test(navigator.userAgent)) {
            //android
            console.log("我是android")
            //这里是和安卓商量好的写法,调用安卓的finishActivity方法
            android.finishActivity();
            
          }
       
  }

然后就可以一个页面同时给安卓和IOS进行交互啦!

发布了4 篇原创文章 · 获赞 8 · 访问量 152

猜你喜欢

转载自blog.csdn.net/weixin_42581303/article/details/105068060
今日推荐