js 如何弹出子窗口后关闭父窗口?

JavaScript025

js 如何弹出子窗口后关闭父窗口?,第1张

第一个子窗口加入以下代码:

<script>

function opensubwin(url) {

window.open(url,"_blank")

window.close()

}

</script>

<input type=button value="打开子窗口" onclick="opensubwin('第二个子窗口的URL')">

 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的值。

showmodaldialog:模式窗口, 一种很特别的窗口,当它打开时,后面的父窗口的活动会停止,除非当前的模式子窗口关闭了, 才能操作父窗口.在做网页ajax开发时,我们应该有时会用到它来实现表单的填写, 或做类似网上答题的窗口. 它的特点是,传参很方便也很强大,可直接调用父窗口的变量和方法.使用方法:例如:----------------parent.htm<scriptvarobj=newobject()obj.name=51jswindow.showmodaldialog(modal.htm,obj,dialogwidth=200pxdialogheight=100px)</scriptmodal.htm<scriptvarobj=window.dialogargumentsalert(您传递的参数为:+obj.name)</script----------------2.可以通过window.returnvalue向打开对话框的窗口返回信息,当然也可以是对象。例如:---------------parent.htm<scriptstr=window.showmodaldialog(modal.htm,,dialogwidth=200pxdialogheight=100px)alert(str)