解决js跨子域问题
问题描述:
在框架页面index.aspx中,通过iframe加载多个子域名的页面,此时子域名中的页面的js将无法使用,报“没有权限”错误
原因:
因为考虑到安全性的问题,浏览器禁止js进行跨域名的操作,所以出现以上问题
解决方法:
通过将框架页面及iframe加载的子域名页面的document.domain修改为他们的顶级域名可解决此问题,这时候浏览器会认为index.aspx页面和iframe加载的子域名的页面的域名是一样的。
注意:
在调试时,我直接在title标签后加修改document.domain的js代码,此时会报错,因为document页面文档还没加载完成。所以需要到document加载完成后才能调用修改document.domain的js代码,所以需要在事件window.onload = function() {…}中添加修改代码