主窗體內嵌的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