`
yunfubaoyang
  • 浏览: 3771 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

IE的iframe变量传递BUG

阅读更多
根据浏览器的同源策略,iframe的内容与父窗口同域(默认情况也同域)时,它们的内容就允许互相通信。我们可以从iframe上取到其window对象来做进一步操作,但是此处在IE中存在BUG。IE中的iframe中无法从window对象获取到在父窗口直接对其设置的属性。
  这个问题貌似(因为只测试到IE10)存在所有IE版本中。
  1. <iframe id="iframe"></iframe>
  2. <script>
  3. //获取iframe关联的window对象
  4. var w=document.getElementById("iframe").contentWindow;
  5. //对iframe关联的window设置test属性
  6. w.test="次碳酸钴";
  7. //对iframe关联的window添加程序,程序中输出window的test属性
  8. w.document.write("<script>alert(window.test)<\/script>");
  9. </script>

 
  Chrome和Firefox中都可以从iframe中访问到在父窗给它设置的属性,但是IE中就访问不了。这个设计非常不合理,虽然W3C对此无定义,但是以我的逻辑来看这就是IE的BUG。
本文版权归属:宁波广告公司http://www.lihe-ad.com/  转载请注明,肆意删除链接,我们将保留追责权利
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics