jsbrage——和app交互
阿新 • • 發佈:2018-10-31
charset utf-8 code doc ner str ons char text
<html> <head> <meta content="text/html; charset=utf-8" http-equiv="content-type"> <title> js調用java </title> </head> <body> <p> <div id="show"></div> </p> <p><input type="button" id="enter3" value="payInterface" onclick="payInterface();"/></p> </body> <script> function setupWebViewJavascriptBridge(callback) { if (window.WebViewJavascriptBridge) { callback(WebViewJavascriptBridge) } else { document.addEventListener( ‘WebViewJavascriptBridgeReady‘ , function() { callback(WebViewJavascriptBridge) }, false ); } 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) } //在改function 中添加原生調起js方法 setupWebViewJavascriptBridge(function(bridge) { //註冊原生調起方法 //參數1: buttonjs 註冊flag 供原生使用,要和原生統一 //參數2: data 是原生傳給js 的數據 //參數3: responseCallback 是js 的回調,可以通過該方法給原生傳數據 bridge.registerHandler("getUserInfos",function(data,responseCallback){ document.getElementById("show").innerHTML = "buuton js" + data; responseCallback("button js callback"); }); document.getElementById(‘enter3‘).onclick = function (e) { var data = "hello" //參數1: pay 註冊flag 供原生使用,要和原生統一 //參數2: 是調起原生時向原生傳遞的參數 //參數3: 原生調用回調返回的數據 bridge.callHandler(‘getBlogNameFromObjC‘,data,function(resp){ document.getElementById("show").innerHTML = "payInterface" + resp; } ); } }) </script> </html>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
function connectWebViewJavascriptBridge (callback) {
if (window.WebViewJavascriptBridge) {
callback(WebViewJavascriptBridge)
} else {
document.addEventListener( ‘WebViewJavascriptBridgeReady‘ , function () {
callback(WebViewJavascriptBridge) }, false );
}
}
connectWebViewJavascriptBridge ( function (bridge) {
bridge.registerHandler( ‘JS Echo‘ , function (data, responseCallback) {
console.log( "JS Echo called with:" , data)
responseCallback(data)
})
bridge.callHandler( ‘oliveness‘ , {}, function responseCallback(responseData) {
})
})
|
jsbrage——和app交互