您好,登錄后才能下訂單哦!
1、實現原生與js交互
<!-- 申明交互 這段代碼固定必須有 --> function setupWebViewJavascriptBridge(callback) { //android使用 if (window.WebViewJavascriptBridge) { callback(window.WebViewJavascriptBridge) } else { document.addEventListener( 'WebViewJavascriptBridgeReady' , function() { callback(window.WebViewJavascriptBridge) }, false ); } //ios使用 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 = 'https://__bridge_loaded__'; document.documentElement.appendChild(WVJBIframe); setTimeout(function() { document.documentElement.removeChild(WVJBIframe) }, 0) } setupWebViewJavascriptBridge(function(bridge) { //oc或android掉js bridge.registerHandler('result', function(data, responseCallback) { if(data.errorCode == null || data.errorCode == "") window.location.href = "refresh.html?result=success"; else window.location.href = "refresh.html?result=fail"; }); //js掉原生 $(document).on('click', '#call', function() { bridge.callHandler('call', {'sessionId':$.cookie("sessionId")}, function(response) { //處理oc過來的回調 var responseData = { 'Javascript Says':'Right back atcha!' }; responseCallback(responseData); }); }); });
<div> <a id = "call">跳轉手機端 > </a> </div>
參考:https://www.jianshu.com/p/e37ccf32cb5b
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。