document.domain用途
在上一篇文章:iframe父子页面相互调用js方法中通过例子介绍了iframe与其父页面进行js的通信,但是这里有一个非常重要的限制,由于浏览器基于安全考虑,是不允许js在不同域名间进行通信,所以父子页面必须属于同一个域,即使是相同主域下的不同二级域也是不行的。
对于父子页面完全属于两个不同的域名,那么它们之间永远无法直接进行通信;如果父子页面是属于同一个主域下的不同二级域,则可以使用强制设置document.domain的方式来达到让其互相通信。document.domain默认值是window.location.host,可以js中设置为window.location.host的上一级域,但是不能为根域,例如:可以在页面www.netingcn.com设置document.domain为netingcn.com,但是不能设置为other.netingcn.com或com。
document.domain在一定程度上解决了不同二级域名页面的跨域问题。需要注意的是,如果父页面包含多个iframe且设置了document.domain,那么要与其进行通信的iframe也必须设置document.domain。另外在chrome 18中,父子页面属于相同域名,当设置document.domain后,它们之间变的无法通信了,其他浏览器正常。
欢迎转载,转载请注明文章出处,谢谢!
分类: web前端
跨域问题按此可解决,谢谢。
只有在相同的主域才适用,如果两个不相关的域是不行的