掌上生存是一个比拟先进的银行App,不能单纯当做浏览器来解决,其有专门提供的JS-SDK供调用
JS-SDK: https://open.cmbchina.com/Platform/#/resource/document/jsSDK
如果不想引入这个库的话,有一些轻微但重要的性能能够间接仿写,比方判断是否在掌上生存中,就是通过正则匹配UA判断的
判断是否在掌上生存中:/cmblife/.test(ua);
在该App内想要唤起美团,也不能间接应用惯例的办法,而是必须通过其特有的schema
在掌上生存中唤起美团并关上指定H5页面:cmblife://web/startApp/imeituan?uri=imeituan%3A%2F%2Fwww.meituan.com%2Fweb%3Furl%3Dhttps%253A%252F%252Fdpurl.cn%252Fn%252FVKV1ld8
其中前面的局部为imeituan://www.meituan.com/web?url=encodeURI(url)格局的再编码,也就是咱们外部本人的规范,要害就是后面cmblife://web/startApp/imeituan?uri=的局部必须要写对
对于唤起美团并关上指定页面,值得注意的是,掌上生存安卓当初是有BUG的,关上的页面url自身不能有&号,不然会呈现问题,也就意味着url不能携带一个以上的参数。咱们的解决方案是通过转成重定向的短链来解决,平台短链服务地址:http://infoplatform.dper.com/oss/operate/shortlink
如果切实须要传多参数,能够思考把所有参数都弄成一个转码后的JSON对象,而后设置惟一的参数进行传递
JS-SDK中也提供了在掌上生存中唤起App的办法,不过如果不想引入的话,也能够思考本人写。和惯例唤起办法不太一样的是,不必辨别IOS和安卓,均应用iframe的形式即可,事实上因为其UA是定制化过的,想判断平台可能也会存在一些问题
想用掌上生存的线上包关上指定url的页面,须要用到cmblife://go?url=web&next=&version=v2 留神next参数须要放的是encodeURI编码后的页面url。因为波及到平安问题,所以关上的页面链接必须行方配置白名单才能够应用,须要和行方沟通协商
如果页面想要敞开本身,能够应用cmblife://web/close链接,以后安卓版有BUG可能导致无奈正确敞开,但这是他们应该解决的问题