iframe跨域传值

其实这里需要解决的是,在一个页面 A 中嵌入一个iframe B,A 和 B 不属于同一个域,但是 A 和 B 需要进行一些必要的通信,传递少量的数据信息,所以问题的实质就是主页面与跨域 iframe 之间怎么通信,也就是怎么传递数据信息

下面就针对两种不同的需求,总结一些比较简单,常用和稳定的解决方案。

  • 主页面A 怎么向 iframe B 传递数据
  • iframe B 怎么向 主页面A 传递数据

A向B好传值..B向A传值则需要一个代理的iframe  C....B嵌套C..C与A同域


IframeA.html

[html]  view plain copy
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4.     <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>  
  5.     <script type="text/javascript" src="js/getUrlParam.js"></script>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  7. <title>A</title>  
  8. </head>  
  9. <body>  
  10.     <p>aaaa</p>  
  11.     <iframe id="frameB" style="width:100%;height:100%;border:0;" src="http://192.168.2.100:8080/kuayuiframeB/iframeB.html"></iframe>  
  12.     <input type="text" size="20" id="text1" name="text1"/>  
  13. </body>  
  14. </html>  

IframeB.html

[html]  view plain copy
  1.  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3.     <head>  
  4.         <script type="text/javascript" src="js/jquery-1.6.4.min.js">  
  5.         </script>  
  6.         <script type="text/javascript" src="js/getUrlParam.js">  
  7.         </script>  
  8.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  9.         <title>iframeB</title>  
  10.         <script type="text/javascript">  
  11.             $(document).ready(function(){  
  12.                 $("#CompanyID").change(function(){  
  13.                     alert("aaaaaaaaaaaaaa");  
  14.                     document.getElementById("frameC").src = "http://192.168.2.192:8080/kuayuiframeA/IframeC.html?prids=11&coid=115";  
  15.                       
  16.                 });  
  17.             });  
  18.         </script>  
  19.     </head>  
  20.     <body>  
  21.         <p style="height:500px;">  
  22.             zheshiBBBBB  
  23.         </p>  
  24.         <iframe id="frameC" style="height:1px;width:1px;display:none;">  
  25.         </iframe>  
  26.         <select id="CompanyID" class="ServiceProviderName" name="CompanyID">  
  27.             <option>aaaaaaaaaaaaa</option>  
  28.             <option>aaaaaaaaaaaaa</option>  
  29.             <option>aaaaaaaaaaaaa</option>  
  30.             <option>aaaaaaaaaaaaa</option>  
  31.             <option>aaaaaaaaaaaaa</option>  
  32.         </select>  
  33.     </body>  
  34. </html>  

IframeC.html

[html]  view plain copy
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  2. <html>  
  3. <head>  
  4.     <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>  
  5.     <script type="text/javascript" src="js/getUrlParam.js"></script>  
  6.     <script type="text/javascript" src="js/comm.js"></script>  
  7.     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  8. <title>Insert title here</title>  
  9.     <script type="text/javascript">  
  10.        var prids = UrlParm.parm("prids");  
  11.        var coid = UrlParm.parm("coid");  
  12.       // window.parent.parent.document.getElementById("text1").value=prids;  
  13.        alert(prids);  
  14.        par.selSpId=prids;  
  15.        par.selCompanyId=coid;  
  16.     </script>  
  17.   
  18.   
  19. </head>  
  20. <body>  
  21.   
  22. </body>  
  23. </html>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值