码迷,mamicode.com
首页 > 移动开发 > 详细

jsbrage——和app交互

时间:2018-08-31 19:25:59      阅读:1224      评论:0      收藏:0      [点我收藏+]

标签:nec   setup   src   called   jsb   out   EDA   webview   use   

<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>

 

 

 

 

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交互

标签:nec   setup   src   called   jsb   out   EDA   webview   use   

原文地址:https://www.cnblogs.com/dontes/p/9567257.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!