小白求RN中WebView与HTML通信demo



  • 新手刚入门rn,求大神给个rn中webview如何与html进行通信的demo,看一下html和inde.android.js中怎么写,网上搜了很多都运行不通。





  • 这个试过了,还是不行



  • rn发送函数
    sendMessage(data){
    LogInfo('sendMessage:',data);
    if (!data) {
    LogErr('send to h5 data is empty');
    return;
    }

        try {
            const dataStr = JSON.stringify(data);
            this.webview && this.webview.postMessage(dataStr);
        } catch (err) {
            LogErr('sendMessage err: ', err);
        }
    };
    

    h5接受函数
    document.addEventListener('message', function (e) {
    // e.target matches document from above
    var data = e.data;
    requestAnimationFrame(function () {
    try {
    var dataJSON = JSON.parse(data);

            } catch (err) {
    
            }
        })
    });


  • 不仅是通讯,现在需要修改webview里面的标签,怎么处理



  • react native的webview基本上不能用于商业项目开发,injectedJavaScript明明写的是加载前注入的js,实际其实是加载完成了才执行,由于加载时机的问题,新手很难搞清问题出在哪,经常出现postmessage参数不对,没有找到方法等问题。 拦截url在安卓上也需要桥接事件实现。基本上需要修改组件代码才能真正算得上个组件。


登录后回复