在 window.postMessage
中,第二个属性指定了我的消息可以发送到的域。有没有办法指定它适用于所有子域。
尝试过的事情:
iframe.contentWindow.postMessage('The message to send.','http://*.wordpress.com');
iframe.contentWindow.postMessage('The message to send.','http://wordpress.com');
最佳答案
不知道所有域名是可能的。只需获取一个引荐来源网址,您实际上就可以从中获得来源:
var parentOrigin = document.referrer.match(/^.+:\/\/[^\/]+/)[0];
现在,唯一的事情就是检查 URL 是否符合条件(以 wordpress.com
结尾),如果是,则允许消息发送到该特定域。
仅在用户在 iframe 内导航到其他地方之前有效:引荐来源网址已更改。但是,引荐来源网址可以保存在 iframe 的 localStorage
中,这样您就有了一个可能域的列表,并且可以将消息发送到 Ivan Zuzak 提议的列表中的每个域。
关于html - 如何使 postMessage 适用于所有子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14443294/