在 postmessage 中指定多个 targetOrigin uri

Specifying multiple targetOrigin uris in postmessage

Window.postMessage() 有一个可以设置为 URI 的 targetOrigin 参数(以确保消息仅到达特定的 url)。当然也可以设置成*(不推荐),但是有没有办法指定多个URI才允许呢?

目前我只是为每个域发出一个 postMessage() 调用,但这至少可以说有点老套。

很遗憾,你不能。您应该提供“*”或单个指定域。

您可以尝试多次发送,每个域一个:

targetWindow.postMessage(message, "https://domain1.com");
targetWindow.postMessage(message, "http://localhost");

⚠ 不建议使用“*”来防止安全漏洞。

也可以做数组+循环