收藏
回答

web-view和小程序如何实现实时通讯?

我的web页面有以下方法:

    // index.html
    function notify() {
        const pData = {
            "data":new Date().getTime()
        }
        const dataStr = JSON.stringify(pData);
        wx.miniProgram.postMessage({
            data: pData,
        })
        console.log('通知');
    }


在小程序的web-view中配置如下:

  <!-- info.wxml -->
  <web-view src="{{localUrl}}" bindmessage="messageHandler"></web-view>

    <!-- info.js -->
  messageHandler(e) {
    console.log('接收页面参数:', e)
  },


我在调试时,调用web页面的 notify 方法没有触发web-view控件绑定的方法 messageHandler;

可能的原因在官方文档找到了解析:

”向小程序发送消息,会在以下特定时机触发组件的message事件:小程序后退、组件销毁、分享、复制链接(2.31.1))“


但是我发现编译器的日志,会及时响应我的点击事件,并输出我的传递参数:


请问有没有一些其他的方法可以实现小程序及时获取web-view发起的通讯数据的?

可不可以从 invokeAppService postMessage 这些信息进行拦截获取数据?

回答关注问题邀请回答
收藏

4 个回答

  • 那一抹笑😃 穿透阳光
    那一抹笑😃 穿透阳光
    09-27

    用websocket

    09-27
    有用
    回复
  • showms
    showms
    09-27

    用websocket也不行吗

    09-27
    有用
    回复
  • dreamhunter
    dreamhunter
    09-26

    没有实时办法

    09-26
    有用
    回复
  • hello world
    hello world
    09-26

    没有其他方法

    09-26
    有用
    回复
登录 后发表内容