Javascript 子窗口调用父窗口js方法

JavaScript012

Javascript 子窗口调用父窗口js方法,第1张

 JS子窗口调用父窗口的方法:

 框架(iframe)形式,这时用到是window.parent, window.parent能获取一个框架的父窗口或父框架。顶层窗口的parent引用的是它本身。可以用这一点特性来判断这个窗口是否是顶层窗口。详情如下:

1、1.html代表的是父窗口

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

<html xmlns="

<head>

<meta http-equiv="Content-Type" content="text/html charset=utf-8" />

<title>父页面</title>

</head>

<body>

<form name="form1" id="form1"> 

   <input type="text" name="username" id="username" /> 

</form> 

<iframe src="2.html" width="100%">

</body>

</html

2、2.html代表的子窗口

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

<html xmlns="

<head>

<meta http-equiv="Content-Type" content="text/html charset=utf-8" />

<title>子页面</title>

<script type="text/javascript">

 function changeValue(val){

  var _parentWin = window.parent   

  _parentWin.form1.username.value = val 

 }

</script>

</head>

<body>

<input type="file" name="filename" onchange="changeValue(this.value)" />

</body>

</html>

这时在子窗口(iframe窗口)所做的改变,会改变父窗口中username的值。

方法一~~~~~~~~~~~~~~~~~~~~~~

主窗口:

<input name="" type="button" onclick="newpage()"/>

<script>

var a = "12345"

function newpage(){

window.open("子窗口.html" + "?" + a)

}

</script>

子窗口.html

<script>

var addstr= document.URL

var num=addstr.indexOf("?")

addstr=addstr.substr(num+1)

alert(addstr)

</script>

方法二:~~~~~~~~~~~~~~~~~~~~~~~

主窗口:

<input id="hid" type="hidden" value="" />

<input name="" type="button" onclick="newpage()"/>

<script>

var a = "12345"

function newpage(){

document.getElementById("hid").value = a

window.open("2.html")

}

</script>

子窗口:

<script>

var prtW = window.opener

var prtA

if(prtW!=null){

prtA = prtW.document.getElementById("hid").value

alert(prtA)

}

</script>