版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/neoveee/article/details/85919979
前段时间,在重构业务相关SDK对接方案中,涉及到跨域Iframe通信的场景,最终采取的方案是window.postMessage
, 这里总结一下该方案的应用场景及其注意事项。
该API旨在安全的实现跨源通信。通常情况下,两个页面之间的脚本,只有在 协议 主机名 和 端口号 完全相同的情况下,才能互相通信。但是 postMessage
方法却可以实现 跨源调用
,这也是该API设计的核心所在。
另外,该API还实现了一种安全机制,只要正确的使用,就很安全。至于安全机制,我觉得主要体现在如下的几个方面。
首先回顾一下该API的语法设计:
otherWindow.postMessage(message, targetOrigin, [transfer]);