第一个问题:刷新父窗口(没有传值操作)
父页面打开时一定要传window参数
openModalDialog("son.html",window,800,600);
子页面中刷新:
window.dialogArguments.location="parent.html";//parent.html是父页面的地址
实例:
parent.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> </TITLE>
<mce:script type="text/javascript"><!--
function openModalDialog(url,name,iWidth,iHeight)
{
window.showModalDialog(url,name,'edge: Raised; center: Yes; help: Yes; resizable: Yes; status: No;dialogHeight:'+iHeight+'px;dialogWidth:'+iWidth+'px');
}
function show(){
openModalDialog("son.html",window,800,600);
}
// --></mce:script>
</HEAD>
<BODY>
<input type="button" value="open" onclick="show()">
</BODY>
</HTML>
son.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<mce:script type="text/javascript"><!--
function aa(){
self.close();
window.dialogArguments.location="parent.html";
}
// --></mce:script>
</HEAD>
<BODY>
ssssssssssssssssssssssssssssssssss
<input type="button" value="close" onclick="aa()">
</BODY>
</HTML>
=================================
第二个问题:只传值不刷新
parent2.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<mce:script type="text/javascript"><!--
function show(){
var params = new Array();
params[0] = "00000000000";
params[1] ="1111111111";
params[2]="22222222222";
var style = "dialogHeight:600px;dialogWidth:800px;status:no";
window.showModalDialog("son2.html",params, style);
}
// --></mce:script>
</HEAD>
<BODY>
<input type="button" value="open" onclick="show()">
aaaaaaaaaaaaaaaaaanfddddaas
<input type="text">
</BODY>
</HTML>
son2.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<mce:script type="text/javascript"><!--
var l_array=new Array();
l_array=window.dialogArguments;
var aa=l_array[0];
var bb=l_array[1];
var cc=l_array[2];
alert(aa);
alert(bb);
alert(cc);
// --></mce:script>
</HEAD>
<BODY>
ssssssssssssssssssssssssssssssssss
</BODY>
</HTML>
第三个问题:传值+刷新父窗口
father.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>传值+刷新父窗口 </TITLE>
<mce:script language="javascript"><!--
function openson(){
var obj = new Object();
obj.name="张三";
obj.address="中国北京市";
var k =window.showModalDialog("child.html",obj,"dialogWidth:800px;dialogHeight:600p;status:no;");
if(k.type==""){ //传递回的type为空的时候才刷新页面。
alert("刷新了"); //为了看效果加的,实际运用中请注掉
location.reload();
}
}
// --></mce:script>
</HEAD>
<BODY>
<input type="button" value="打开子窗口" onclick="openson()">
</BODY>
</HTML>
child.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE></TITLE>
<mce:script for="window" event="onload"><!--
var s = new Object();
s.type="";
window.returnValue=s;
var k=window.dialogArguments;
alert(k.name); //使用传递过来的nanme "张三“;
alert(k.address); //使用传递过来的address "中国北京市“;
// --></mce:script>
<mce:script type="text/javascript"><!--
function doRefresh(){
var s=new Object();
s.type="";//设置返回值。//这里返回刷新父页面。
window.returnValue=s;
window.close();
}
function doNotRefresh(){
var s=new Object();
s.type="OK";//设置返回值,值随便写,不为空就可以。//这里返回不刷新父页面。
window.returnValue=s;
window.close();
}
// --></mce:script>
</HEAD>
<BODY>
<input type="button" value="返回刷新" onclick="doRefresh()">
<input type="button" value="返回不刷新" onclick="doNotRefresh()">
</BODY>
</HTML>
第四个 传值+刷新的实际应用
parent3.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>传值+刷新</title>
<mce:script type="text/javascript"><!--
function show(){
var params = new Array();
params[0] = "00000000000";
params[1] ="1111111111";
params[2]="22222222222";
var style = "dialogHeight:600px;dialogWidth:800px;status:no";
var k=window.showModalDialog("son3.html",params, style);
if(k.type==""){ //传递回的type为空的时候才刷新页面。
alert("刷新我了");
location.reload();
}
}
// --></mce:script>
</HEAD>
<BODY>
<input type="button" value="open" onclick="show()">
aaaaaaaaaaaaaaaaaanfddddaas
<input type="text">
</BODY>
</HTML>
son3.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<mce:script type="text/javascript"><!--
var s = new Object();
s.type=""; //设为空就可以刷新父窗口
window.returnValue=s;
var l_array=new Array();
l_array=window.dialogArguments;
var aa=l_array[0];
var bb=l_array[1];
var cc=l_array[2];
alert(aa);
alert(bb);
alert(cc);
function closeWindow(){
window.close();
}
function doNotRefresh(){
var s=new Object();
s.type="OK";//设置返回值,值随便写,不为空就可以。//这里返回不刷新父页面。
window.returnValue=s;
window.close();
}
// --></mce:script>
</HEAD>
<BODY>
sdafsdfafasdf<br>
<input type="button" value="closeAndRefresh" onClick="closeWindow()" />
<input type="button" value="closeAndRefresh" onClick="doNotRefresh()" />
</BODY>
</HTML>
分享到:
相关推荐
与`showModalDialog`不同,`window.open`创建的窗口是非模态的,用户可以在新窗口和原窗口之间自由切换。 `window.open`的主要用途是创建新的浏览器窗口或标签页,通常用于链接或表单提交的重定向。它也支持返回一...
This is a `window.showModalDialog()` shim using a modal HTML5 `<dialog>` element and ECMAScript 6 Generators. It was tested in the latest Google Chrome with the *Enable Experimental JavaScript* flag ...
Window.showModalDialog 和 Window.open 都是 JavaScript 中的方法,用于创建新窗口或对话框,下面分别介绍它们的用法和参数。 一、Window.open() 方法 Window.open() 方法用于打开一个新的浏览器窗口,可以指定新...
在JavaScript中,`window.showModalDialog`是一个古老但仍然有用的函数,用于打开一个模态对话框,用户在对话框中进行交互,直到关闭对话框为止。然而,当涉及到跨域时,`showModalDialog`面临一个问题:它无法正确...
在网页开发中,`window.showModalDialog` 是一个古老的 API,用于创建模态对话框,它可以在不刷新页面的情况下与用户交互。这个方法在现代Web开发中已经逐渐被`<dialog>`元素或JavaScript库如jQuery UI、Bootstrap ...
其中一个常见的场景就是通过`window.showModalDialog`方法打开一个新窗口,并在完成某些操作后刷新父页面。本文将详细介绍如何在Struts2项目中实现这一功能。 #### Struts2简介 Struts2是基于MVC设计模式的一个...
window.showModalDialog以及window.open用法简介
在JavaScript编程语言中,`Window.showModalDialog()`方法是一个非常重要的功能,主要用于打开一个模态对话框,即用户必须关闭对话框才能与父窗口进行交互。这个方法在创建用户交互和自定义弹出窗口场景中非常有用。...
`window.showModalDialog()` 函数返回一个值,这个值是通过调用新窗口中的 `window.returnValue` 设置的。如果新窗口被关闭且 `window.returnValue` 被设置,则会将该值作为 `showModalDialog` 函数的返回值。 以下...
在JavaScript编程中,`window.showModalDialog`是一个用于打开模态对话框的函数,它能够创建一个新的浏览器窗口或者在当前窗口内显示一个弹出层,阻止用户与父窗口的交互,直到用户关闭对话框为止。这个方法在创建...
【window.showModalDialog() 方法详解】 在Web开发中,JavaScript提供了两种对话框方式来与用户交互,即模态对话框和非模态对话框。本文将重点介绍模态对话框的使用方法`window.showModalDialog()`。 模态对话框是...
### window.showModalDialog 的基本用法 `window.showModalDialog` 是一个早期的浏览器功能,主要在 Internet Explorer(IE)4.0 及以上版本中支持。它用于打开一个新的模态对话框窗口,并且该窗口将阻止用户与主...
本篇文章将深入探讨`showModalDialog`如何用于刷新窗口,并通过例子进行详细讲解。 `showModalDialog`的基本语法如下: ```javascript window.showModalDialog(url, windowObject, features); ``` - `url`:这是...
1> window.showModalDialog()采用JS原理实现,同时父窗口不可操作,window.open()采用新创建一个窗口,同时父窗口可操作; 2> 父窗口与子窗口传递值的方式也有所不同,在子窗口中操作父窗口也语法也不同,分别为var...
### showModalDialog 弹出窗口关闭不刷新父窗口的实现方法 #### 一、背景介绍 在Web开发过程中,经常会遇到需要使用弹出窗口显示额外信息或进行特定操作的情况。`showModalDialog` 是一个非常实用的功能,允许创建...
在这种情况下,可能需要使用其他方法,如回调函数或使用`postMessage` API来实现父子窗口之间的安全通信。 总的来说,`showModalDialog`和`showModelessDialog`是JavaScript中用于创建弹出式对话框的两种方式,它们...
这个示例是学习和理解`window.showModalDialog`的一个很好的实践,它展示了如何在不同窗口之间进行通信,这对于创建复杂的交互式Web应用非常有用。不过,需要注意的是,`showModalDialog`在现代浏览器中的支持情况并...