收藏
回答

web-view postMessage 如何用bindMessage接收

框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 web-view 客户端 iOS 最新

web-view postMessage 如何用bindMessage接收


例如

wx.miniProgram.postMessage({ data: {foo: 'bar'} })


如何用 bindmessage 接收?


谢谢~

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

14 个回答

  • 祺爸💎
    祺爸💎
    2018-02-01

    我换个问法,为什么必须是“特定时机”,而不是即时收到?

    2018-02-01
    有用 20
    回复
  • Hiker西
    Hiker西
    2018-08-11

    我开发过程中遇到几个bindmessage的神坑这里总结一下:

    1. 在<web-view>页面右上角分享时先触发了onShareAppMessage事件而不是预想的bindmessage,在开发者工具内调试功能正常,但手机实际执行时先触发了onShareAppMessage事件,跳过了bindmessage。

    解决:利用组件销毁条件,wx.miniProgram.redirectTo() 回一个新的小程序页面,再在页面内做按钮分享。

    2. <web-view>组件的 bindmessage属性真机不触发问题。

    解决:是由于部分Android机不接受非object传回的data导致不触发。为了兼容,将wx.miniProgram.postMessage()写成如下形式:

           wx.miniProgram.postMessage(data:{key:value});


    2018-08-11
    有用 6
    回复
  • 依然
    依然
    2018-03-30

    @刘君

    bindmessage 接收网页 postMessage 传递的数据是画面销毁等情况才触发,我的理解是webview的画面都销毁了才触发,那谁来接收。

    2018-03-30
    有用 3
    回复
  • 一只想胖的月月鸟
    一只想胖的月月鸟
    2018-03-12

    <web-view bindmessage="bindGetMsg" src="{{url}}"></web-view>

    js

    bindGetMsg(e) {

        console.log(e.detail)

    }

    我测试并没有拿到数据


    2018-03-12
    有用 2
    回复 4
    • Lucky Girl
      Lucky Girl
      2021-11-18
      我也是拿不到 触发不了那个接收的方法
      2021-11-18
      回复
    • RIIIR
      RIIIR
      2023-04-12
      你们用错方法了,应该用bindevent这个,在h5页面调用sendWebviewEvent(object)方法去传数据
      2023-04-12
      回复
    • 桤(qī)赫
      桤(qī)赫
      2023-08-31回复RIIIR
      这是官方API?你试过吗
      2023-08-31
      回复
    • 芒果丶
      芒果丶
      2023-11-13回复RIIIR
      你这是张口就来啊
      2023-11-13
      回复
  • 祺爸💎
    祺爸💎
    2018-01-31

    实在是不能理解这个“特定时机”的应用场景是怎么样的

    2018-01-31
    有用 2
    回复 1
    • 2019-09-17
      同问
      2019-09-17
      回复
  • 邻家大叔
    邻家大叔
    2018-04-09

    实在不能理解这个“特定时机”,本来是想用来做一些H5页面在小程序中的功能过度,让这些嵌入的少量网页更加符合小程序的交互或者应用规范的,但是现在复杂场景中目前的web-view  api实在是太弱了~

    2018-04-09
    有用 1
    回复 1
    • 2018-06-11

      @邻家大叔,你好,我也是想在小程序中跳转到web-view页面,然后希望能在web-view中调小程序的api,实时得到一些状态数据,这个现在没找到好的方法,你当时是怎么解决的呢?期待你的回复,谢谢!

      2018-06-11
      回复
  • RIIIR
    RIIIR
    2023-04-12

    应该用bindevent这个,在h5页面调用sendWebviewEvent(object)方法去传数据

    2023-04-12
    有用
    回复 1
    • 马轩
      马轩
      2023-11-06
      你这个更离谱
      2023-11-06
      回复
  • sRect
    sRect
    2023-02-20

    网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息”,好一个“特定时机”,🤮

    2023-02-20
    有用
    回复
  • 谢小黑
    谢小黑
    2022-11-16

    真的被恶心到了,特定时机,不知道有啥用了,这。。。

    2022-11-16
    有用
    回复
  • ghost
    ghost
    2018-09-05

    传回数据可以应用一些什么样的场景?

    2018-09-05
    有用
    回复

正在加载...

登录 后发表内容