javascript跨域传值问题

本文介绍了通过使用浏览器剪贴板或生成JavaScript文件的方式解决跨域数据传递问题的方法,并探讨了不同场景下的适用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  今天帮 "阿辉小屋javascriptⅠ"QQ群里 卡缪 解决了一个javascript 跨域传值的问题.
  问题描述:
    站点A上一个页面 a.html 的iframe下有一个站点B上的一个页面b.html.想把页面b.html的一个字符串传给页面a.html A 的域名为:www.aaa.com   B的域名为:www.bbb.net   .问题是直接引用会出现没有权限的错误.

  解决办法:
    第一种:利用windows的剪粘板   第二种:在B上生成一个文件
        a.html  的内容为:

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312"   />
< title > js跨域 </ title >
< script  language ="javascript"  defer ="defer" >
  document.getElementById(
"aaa").style.height=parseInt(window.clipboardData.getData("text"))+ 50 + "px";
</ script >
</ head >

< body >
< iframe  id ="aaa"  src ="http://ladder.nyist.net/ladder/chenchun/B.html" >
</ iframe >
</ body >
</ html >

b.html

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312"   />
< title > js跨域 </ title >
< script  language ="javascript"  defer ="defer" >
  window.clipboardData.setData(
"text",String(window.document.body.scrollHeight));
</ script >
</ head >
< body >
< table  width ="600"  height ="284"  border ="1"  align ="center"  cellpadding ="0"  cellspacing ="0" >
  
< tr >
    
< td > a </ td >
    
< td > a </ td >
    
< td > a </ td >
  
</ tr >
</ table >
</ body >
</ html >


原理:
  在b.html里面将要传递的值在页面被加载时存进windows的剪粘板,a.html中从剪粘板中读出数据

但这种方法有他的局限性:只对windows 下的IE有用
最后 卡缪 把要传的值生成一个js文件存在B的服务器上,在a.html里引用该js 文件,原理基本上一样,哈哈~


补冲一下:
  今天上课是和同学讨论了这个问题,以上的办法,只限于,对两个服务器都有读写的权限.当对B没有操
作的权限时,的解决办法为.读取b.html处理后直接写到a.html里面(读取的办法有好多,其中有一种是利用SOCKET  另外asp.net 里面还有好几种方法可以做到)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值