使用iframe引用外部资源是相当便捷的手段,不过仅限于父页面不对iframe进行访问。当我们访问iframe文档中内容,时常会遇到跨域问题,导致对iframe里面的内容不可控,并且使用iframe对页面的性能有很大的影响。今天笔者遇到一个相当郁闷的问题,关于iframe的document.domain的设置。
有两个页面,一个是a.html为父页面,一个是b.html为iframe页面,域名都是domain.xx.com。
一般情况下,这种设置在各大浏览器都成功。
document.domain = "domain.xx.com";
document.domain = "xx.com";
但问题就来料,如果你把上面的两个语句顺序倒一下:
document.domain = "xx.com";
document.domain = "domain.xx.com";
以上两句代码,在浏览器中会报错。
由此看出,域可以由domain.xx.com修改为xx.com,所有浏览器都支持,而不能
从xx.com修改为domain.xx.com