页面嵌套iframe的时候引发的js交互问题

今天在做一个新页面的时候,用到了iframe这个东西。结果出现了一个有趣的问题。自己写的页面和iframe里边的页面属性和js有冲突。具体的点说就是层级出现了问题。不能正常显示。不管怎么修改,总是解决了这个,那个就不行了。最后发现了解决问题,那就是修改document.domain。。。

实现跨域交互的方式有很多,其中这种跨子域的交互,最简单方式就是通过设置document.domain:只需要在A.htm与B.htm里都加上这一句document.domain = 'xxx.com',两个页面就有了互信的基础,而能无碍的交互。

这种方法是很简单的,但是也有几个确定:

  • 如果修改了document.domain,则在某些机器上的IE678里,获取location.href有权限异常。
  • 如果页面修改了document.domain,则它包含的iframe,必须也设domain,才能进行交互。就算是同域的页面也必须要设。
  •   设置document.doamin,也会影响到其它跟iframe有关的功能。
  • 设置document.doamin,导致ie6下无法向一个iframe提交表单。
posted @ 2016-01-05 14:19  狂奔de蜗牛牛  阅读(2736)  评论(0编辑  收藏  举报