webview

1、了解webview:  参考链接

2、H5与App native的交互:

  a、目前javascript和客户端(后面统称native)交互的常见方式有两种,一种是通过JSBridge(杭州办事app就是通过这种方式进行交互的)的方式,另一种是通过schema的方式。

            if (window.jsbridge){
                window.jsbridge.add(t);
            }
            else {
                var r = "ListItem" + (new Date()).getTime();
                this.readyList[r] = t
            }

  b、晚上看到还有一种方式,但是 还 不了解,有时间在研究。  https://blog.csdn.net/lyyo_cd/article/details/84304864

    安卓中:

     jsObj.call('dadsf')

    ios中:

    window.webkit.messageHandlers.jsObj.postMessage('dafdfadf')

3、不同环境的 userAgent:(先把userAgent都变成小写的,toLowerCase() 在进行判断)

  a、微信(安卓):

Mozilla/5.0 (Linux; Android 7.0; M3 Max Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045131 Mobile Safari/537.36 MMWEBID/5722 MicroMessenger/7.0.14.1660(0x27000E37) Process/tools NetType/WIFI Language/zh_CN ABI/arm64 WeChat/arm64

  b、微信(苹果):

Mozilla/5.0 (iPhone; CPU iPhone OS 13_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.12(0x17000c2d) NetType/WIFI Language/zh_CN

  c、安卓手机浏览器:

Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.96 Safari/537.36 MZBrowser/8.2.1

  d、苹果手机浏览器:

Mozilla/5.0 (iPhone; CPU iPhone OS 13_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Mobile/15E148 Safari/604.1

  e、微信小程序(安卓):

 mozilla/5.0 (iphone; cpu iphone os 10_3_1 like mac os x) applewebkit/603.1.3 (khtml, like gecko) version/10.0 mobile/14e304 safari/602.1 wechatdevtools/1.02.1911180 micromessenger/7.0.4 language/zh_cn webview/100_13 webdebugger miniprogramhtmlwebview miniprogram port/25440

5、

原文地址:https://www.cnblogs.com/wfblog/p/10663179.html