JS获取跨域IFRAME中的内容,支持FIREFOX和IE

本文介绍了如何在JavaScript中解决跨域IFRAME内容获取问题,尤其是在Firefox和IE浏览器下。关键在于通过设置`document.domain`使父页面和IFRAME的主域相同,例如将它们都设置为'csdn.com'。示例代码展示了一种实现方式,包括在a.csdn.com/a.html和b.csdn.com/b.html中设置`document.domain`,然后在b.html中通过`window.self.frames["framea"].document.getElementById("a").innerHTML`获取a.html中IFRAME元素的内容。

JS跨域的问题如果父页和包含的页是在同一个根域不同自域的情况下,根域为CSDN.COM,不同自域比如A.CSDN.COM和B.CSDN.COM  这种情况下可以用该方法实现   关键就是设置他们的主域相同 

  1. document.domain = "csdn.com";

具体实现:
a.csdn.com/a.html中的文件

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml"
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title></title>
  6. <body>
  7. <span id="a">sdfdsfdfs</span>
  8. <script type="text/javascript">
  9.     document.domain = "csdn.com";
  10. </script>
  11. </body> 
  12. </html>

b.csdn.com/b.html

  1. <script type="text/javascript">
  2.     document.domain = "csdn.com";
  3.     alert(window.self.frames["framea"].document.getElementById("a").innerHTML)
  4. </script>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值