javascript跨域传值问题

王朝html/css/js·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

今天帮 "阿辉小屋javascriptⅠ"QQ群里卡缪解决了一个javascript 跨域传值的问题.

问题描述:

站点A上一个页面 a.html 的iframe下有一个站点B上的一个页面b.html.想把页面b.html的一个字符串传给页面a.htmlA 的域名为: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 里面还有好几种方法可以做到)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航