掌上生活是一個比較先進的銀行App,不能單純當作瀏覽器來處理,其有專門提供的JS-SDK供調用
JS-SDK: https://open.cmbchina.com/Platform/#/resource/document/jsSDKweb
若是不想引入這個庫的話,有一些細微但重要的功能能夠直接仿寫,好比判斷是否在掌上生活中,就是經過正則匹配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%252FVKV1ld8url
其中後面的部分爲imeituan://www.meituan.com/web?url=encodeURI(url)格式的再編碼,也就是我們內部本身的標準,關鍵就是前面cmblife://web/startApp/imeituan?uri=的部分必需要寫對code
關於喚起美團並打開指定頁面,值得注意的是,掌上生活安卓如今是有BUG的,打開的頁面url自己不能有&號,否則會出現問題,也就意味着url不能攜帶一個以上的參數。咱們的解決方案是經過轉成重定向的短鏈來解決,平臺短鏈服務地址:http://infoplatform.dper.com/oss/operate/shortlinkorm
若是實在須要傳多參數,能夠考慮把全部參數都弄成一個轉碼後的JSON對象,而後設置惟一的參數進行傳遞對象
JS-SDK中也提供了在掌上生活中喚起App的方法,不過若是不想引入的話,也能夠考慮本身寫。和常規喚起方法不太同樣的是,不用區分IOS和安卓,均使用iframe的方式便可,事實上由於其UA是定製化過的,想判斷平臺可能也會存在一些問題get
想用掌上生活的線上包打開指定url的頁面,須要用到cmblife://go?url=web&next=&version=v2 注意next參數須要放的是encodeURI編碼後的頁面url。由於涉及到安全問題,因此打開的頁面連接必須行方配置白名單纔可使用,須要和行方溝通協商iframe
若是頁面想要關閉自身,可使用cmblife://web/close連接,當前安卓版有BUG可能致使沒法正確關閉,但這是他們應該解決的問題