js请求native的jsBridge

这篇博客介绍了如何在JavaScript中初始化并使用JSBridge来与Native进行通信。通过监听'WebViewJavascriptBridgeReady'事件或者创建隐藏的iframe来加载bridge,从而在网页中调用Native的API。文中给出了一个具体的例子,展示了如何打开反馈功能。

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

<script type="text/javascript">
   // jsbridge init
    var jsBridge = function (callback) {
        if (window.WebViewJavascriptBridge) {
            return 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';
        var isMiniProgram = window.__wxjs_environment ? window.__wxjs_environment === 'miniprogram' : /miniProgram/i.test(navigator.userAgent.toLowerCase());
        if (!isMiniProgram) {
            WVJBIframe.src = 'https://__bridge_loaded__';
        }
        document.documentElement.appendChild(WVJBIframe);
        setTimeout(function() {
            document.documentElement.removeChild(WVJBIframe);
        }, 0);
    }
    jsBridge(function(bridge) {
        bridge.init();
        bridge.callHandler('init', {});
    });
    var openFeedback = function(state) {
        jsBridge(function(bridge) {
            console.log('3')
            var params = {"type":6}; // 发送给ObjC的数据
            bridge.callHandler('openFeedback',params);
        });
    }
    //点击意见反馈按钮
    var goOpenFeedback=function(){
        openFeedback();
    }
    </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值