WebViewJavascriptBridge中前端代码怎么写

与IOS交互时,使用WebViewJavascriptBridge是不错的选择

使用

对于前端而言,只需要先初始化函数

function setupWebViewJavascriptBridge(callback) {
    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) {
        /* Initialize your app here */
        bridge.registerHandler('removeArea', function(data, responseCallback) {
            // console.log("JS Echo called with:", data);
        })
        bridge.callHandler('getUserInfo', null, function responseCallback(responseData) {
        })
    })

需要注意的是
bridge.registerHandler里的两个参数分别为,js提供给IOS客户端的方法名,另一个则是当客户端调用该方法后的回调函数
bridge.callHandler里的三个参数为,IOS端提供的方法,该方法接收的参数,在调用方法后的回调

说明

WebViewJavascriptBridge是一个双方提供方法名并且桥接起来的工具,需要注意的是,数据的交互都是基于回调函数,即具有延时性,尽量在事件中使用该方法, 当需要从客户端获取比如用户信息等全局信息时,需要注意该延时性

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容