摘要:通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议通常为,端口号为的默认值,以及主机两个页面的模数设置为相同的值时,这两个脚本才能相互通信。
场景需要:
正文http://a.com -父页面,记做A
http://b.com -子页面,记做B
B生成的DOM,获取其属性,传值到A
A监听事件,获取监听的属性,传到B
利用window.postMessage() 方法可以安全地实现跨源通信。通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为https),端口号(443为https的默认值),以及主机 (两个页面的模数 Document.domain设置为相同的值) 时,这两个脚本才能相互通信。window.postMessage() 方法提供了一种受控机制来规避此限制,只要正确的使用,这种方法就很安全。
父页面 A子页面 B
效果
本人不太会录屏,就上截图了
开始因为没获取的值,所以是undefined
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/94518.html
摘要:由此可以看出,同源策略确实是必不可少的,那么它会带来哪些限制呢和无法读取。由于浏览器的同源策略,在网页端出现了这个跨域的问题,然而我们发现,所有的属性并没有受到相关的限制,比如等。 本文按照政治问答题必备套路分为以下3个部分: 为什么要跨域? 跨域是什么? 如何实现跨域? Section1、为什么要跨域? 自古以来(1995年起),为了用户的信息安全,浏览器就引入了同源策略。那么同...
阅读 3582·2021-11-24 09:39
阅读 2407·2021-11-15 11:37
阅读 2129·2021-11-11 16:55
阅读 4981·2021-10-14 09:43
阅读 3619·2021-10-08 10:05
阅读 2976·2021-09-13 10:26
阅读 2250·2021-09-08 09:35
阅读 3514·2019-08-30 15:55