主窗体内嵌的iframe或者是其经过js打开的新窗口均可以经过contentWindow与主窗体交互。因此首先须要获取到contentWindow才能够。要获取到可访问的contentWindow对象须要知足同源策略,这里须要保证两个窗口的域名彻底相同才能够。也就是:javascript
主窗体: http://test.example.com
子窗体: http://test.example.com
能够获取contentWindowjava
主窗体: http://father.example.com
子窗体: http://child.example.com
不能获取contentWindow安全
上面第二种状况咱们能够经过设置document的domain属性来实现同域访问:dom
// 主窗体内的js window.document.domain = example.com; // 子窗体内的js window.document.domain = example.com;
注意:domain属性的修改的限制,只能都去掉“子域名”(father,child)保留“主域名”(example)。post
这里你们能够经过mdn来获取相关的详细知识。
postMessage MDNspa
值得注意的点是:code