1. 程式人生 > >js與app互動

js與app互動

1. 判斷當前頁面的環境

        var u = navigator.userAgent;
        var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android終端
        var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端
        if(isAndroid){
           //android環境      
      JSAndroid.getToken()
        }
else if(isiOS){ //ios環境
       
getToken()
     }    

2.由於ios內部問題  有時要做特殊處理  

web端:

/*這段程式碼是固定的,必須要放到js中*/
function setupWebViewJavascriptBridge(callback) {
    if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge); }
    if (window.WVJBCallbacks) { return
window.WVJBCallbacks.push(callback); } window.WVJBCallbacks = [callback]; var WVJBIframe = document.createElement('iframe'); WVJBIframe.style.display = 'none'; WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__'; document.documentElement.appendChild(WVJBIframe); setTimeout(function
() { document.documentElement.removeChild(WVJBIframe) }, 0) }
            /**與OC互動的所有JS方法都要放在此處註冊,才能呼叫通過JS呼叫OC或者讓OC呼叫這裡的JS*/
            setupWebViewJavascriptBridge(function(bridge) {
                /**OC呼叫JS程式碼含引數*/
                bridge.registerHandler('getToken', function(data) {
                   console.log(data);
                })
            })

ios端程式碼參照:https://www.cnblogs.com/chaoyuehedy/p/8583272.html