IOSJSBRIGE商品内容模板

本文介绍了一种在 WebView 中实现 JavaScript 与原生应用交互的方法。通过 WebViewJavascriptBridge 库,可以轻松建立 JavaScript 和原生代码之间的双向通信,文中详细展示了如何初始化桥接、注册处理器及调用原生方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<p>
	内容
</p>
<script>
            window.onerror = function(err) {
                log('window.onerror: ' + err)
            }
            function connectWebViewJavascriptBridge(callback) {
                if (window.WebViewJavascriptBridge) {
                    callback(WebViewJavascriptBridge)
                } else {
                    document.addEventListener('WebViewJavascriptBridgeReady', function() {
                        callback(WebViewJavascriptBridge)
                    }, false)
                }
            }
            connectWebViewJavascriptBridge(function(bridge) {
                var uniqueId = 1
                function log(message, data) {
//                var log = document.getElementById('log')
//                var el = document.createElement('div')
//                el.className = 'logLine'
//                el.innerHTML = uniqueId++ + '. ' + message + ':<br />
' + JSON.stringify(data)
//                if (log.children.length) { log.insertBefore(el, log.children[0]) }
//                else { log.appendChild(el) }
                }
                bridge.init(function(message, responseCallback) {
                    log('JS got a message', message)
                    var data = { 'Javascript Responds':'Wee!' }
                    log('JS responding with', data)
                    responseCallback(data)
                })
                bridge.registerHandler('testJavascriptHandler', function(data, responseCallback) {
                    log('ObjC called testJavascriptHandler with', data)
                    var responseData = { 'Javascript Says':'Right back atcha!' }
                    log('JS responding with', responseData)
                    responseCallback(responseData)
                })
                //测试回调
                var callbackButton = document.getElementById('buttons')
                callbackButton.onclick = function(e) {
                    e.preventDefault()
                    log('JS calling handler "testObjcCallback"')
                    bridge.callHandler('testObjcCallback', {'m_id': '2999'}, function(response) {
                        log('JS got response', response)
                    })
                }
            })
        </script>
<p>
	<br />
</p>
<p>
	<br />
</p>
<div id="buttons">
	价格:500元 <a href="#">查看详情</a> 
	<div id="log">
	</div>
</div>
<p>
	<br />
</p>

  

转载于:https://www.cnblogs.com/lsl8966/p/4992810.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值