【问题标题】:postMessage always returns wrong data?postMessage 总是返回错误的数据?
【发布时间】:2019-12-18 06:20:11
【问题描述】:

我的目标是单击当前标签中的一个按钮,它将打开一个新标签,并在新标签的 Chrome 开发工具中使用 postMessage API:

window.opener.postMessage({deliveryId: 18042548, materialId: 1051041576634029702},'*')

当前标签已经添加了onmessage事件,它会检查原点,console.log数据:

window.addEventListener("message", this.syncDirectMaterialTag)
syncDirectMaterialTag = async e => {
    if ('http://beta-ace.jd.com' === e.origin) {
      console.log(e.data)
      //const res = await queryDirMaterialTag(mapper)
    }
  }

但无论我发布什么,它总是返回相同的错误信息:

deliveryId: 18042548
materialId: 1051041576634029700

怎么会???

【问题讨论】:

    标签: javascript reactjs postmessage


    【解决方案1】:

    我已经修好了。

    原因是 JavaScript 失去了准确性。

    所以materialId的类型应该是String:

    window.opener.postMessage({deliveryId: 18042548, materialId: '1051041576634029702'},'*')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-26
      • 2014-05-29
      • 1970-01-01
      • 1970-01-01
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      • 2014-01-27
      相关资源
      最近更新 更多