如何区分,不同webview环境?

现在有个需求就是 要区分

  1. ios App内webview
  2. 浏览器Safari
  3. 安卓 App内webview
  4. 安卓浏览器(包括但不限于原生)
  5. 以及微信内浏览器
  6. 微信小程序内的webview

已知 从微信7.0.0开始,可以通过判断userAgent中包含miniProgram字样来判断小程序web-view环境。
微信的环境可以通过MicroMessenger来判断, 那么对于其他的情况该如何区分呢?

阅读 211
评论 2019-09-09 提问
    1 个回答

    1.微信内置浏览器

    /micromessenger/.test(navigator.userAgent.toLowerCase())

    2.小程序

    getUrlQuery('fromorigin') === 'miniprogram' || window.__wxjs_environment === 'miniprogram'

    3.Android浏览器

     /android/.test(navigator.userAgent.toLowerCase())

    4.IOS浏览器

    /iphone|ipad|ipod|ios/.test(navigator.userAgent.toLowerCase())

    5.WebView环境

    // 让IOS和Android的同学自定义WebView的UserAgent,从而实现区分;或者通过url query值来区分
    getUrlQuery('fromorigin') === 'ioswebview'
    getUrlQuery('fromorigin') === 'androidwebview'
    评论 赞赏 2019-09-10