在Microsoft Edge中使用postMessage时遇到SCRIPT5022语法错误

5
window.parent.postMessage(JSON.stringify(data), window.origin)

在 Microsoft Edge 中出现语法错误,但在 Chrome 和其他地方工作正常。

这是我在控制台中看到的全部内容:

这是我在控制台中看到的全部内容


完整的错误信息是什么? - epascarello
@epascarello,我已经更新了问题。 - Mikhail Batcer
你的代码中是否使用了Iframes?如果是的话,请尝试发布一个可工作的示例。我们将尝试进行测试。为了测试目的,请尝试仅使用Window.postMessage发布消息,以检查其是否正常工作。 - Deepak-MSFT
@deepak-MSFT 是的,就是 iframe。看起来问题是由于我使用了 window.origin 导致的 - 在 Edge 中它是 undefined,而在 Chrome 和 Firefox 中不是。我将其更改为 window.location.origin(与标准相同),错误消失了。 - Mikhail Batcer
1
@deepak-MSFT,如果Edge的错误信息更详细一些就好了。 - Mikhail Batcer
1个回答

3

window.origin 在Edge中未定义,不同于Chrome和Firefox。

我将其更改为 window.location.origin(符合标准),错误消失了。


1
非常感谢你,Mikhail!你可能已经为我节省了大量的时间来解决烦人的调试问题:) - Glenn Mohammad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接