之前还真没做过类似的东西,,top页面获取子页面的document。。
在百度搜了下即找到这个东东,还好,能用。
主要就是使用contentWindow方法,获取子页面的所有document,再做处理。
原文地址: http://student.csdn.net/space.php?uid=40568&do=blog&id=33111
通过js从父页面获取子页面的值
通常在很多情况下都会遇到通过js来传值的问题,只要通过一些页面关联,他们的值就可以互相传递
其中应用框架的时候传值问题可能会遇到更多一些
1、从父页面传值到子页面可能很容易办到,在很多情况下可以不通过js来传就可以达到目的,但从子页面把数据传给父页面就不是那么容易了,其实思路很简单,首先你要通过父页面找到子页面,按照W3C标准来,语法如下:
document.getElementById(”iframe1″).contentWindow;
取到子页面对象
2、此文为了达到一个很醒目的效果,做了一个很即时的例子,当鼠标选中子页面的任何文字的时候,父页面的text里面就把显示出来,通过 getSelection和selection.createRange方法来实现,关于selection.createRange是只能在ie6上面 能用,所以要加。
具体代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<input type="text" id="text1">
<iframe src="http://www.uideas.cn/download/demo1.html" id="iframe1" name="iframe1" style="width:60%; height:60%;"></iframe>
</body>
</html>
<script language="JavaScript">
var childHtml = document.getElementById("iframe1").contentWindow;
var parentText = document.getElementById("text1");
var getValue = "";
if(childHtml.document.selection){
childHtml.document.οnmοuseup=function(){
parentText.value = childHtml.document.selection.createRange().text;
}
}else{
childHtml.οnmοuseup=function(){
parentText.value=childHtml.window.getSelection(); }
}
</script>