`
sd8089730
  • 浏览: 258666 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

window.showModalDialog和window.open关闭子页面时刷新父页面【转】

阅读更多


window.open 弹出新窗口的命令; 
'page.html' 弹出窗口的文件名; 
'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替; 
height=100 窗口高度; 
width=400 窗口宽度; 
top=0 窗口距离屏幕上方的象素值; 
left=0 窗口距离屏幕左侧的象素值; 
toolbar=no 是否显示工具栏,yes为显示; 
menubar,scrollbars 表示菜单栏和滚动栏。 
Resizable=no 是否允许改变窗口大小,yes为允许; 
location=no 是否显示地址栏,yes为允许; 
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许

父窗体打开页面的javascript

function GoToPage(id)
     {
           
var title="title";
           
var url="xxxxx.aspx?ID="+id+"&Radom="+Math.random();;
           
var Width="700";
           
var Height="600";
           
var arguemnts = new Object();
           arguemnts.window = window;
            if (document.all&&window.print)
            {
                window.showModalDialog(url,arguemnts,
"dialogWidth:" + Width + "px;dialogHeight:" + Height + "px;center:yes;status:no;scroll:yes;help:no;");
                //或者window.showModelessDialog

               //模态窗口在关闭后可以直接在后面跟上刷新的语句

               window.location.reload();
            }
            
else 
           { 
                window.open(url,
"","width=" + Width + "px,height=" + Height + "px,resizable=1,scrollbars=1"); 
           }
        }

在 window.open打开的窗口中,关闭子窗口并刷新父窗口

window.opener.location.reload();window.opener=null;window.close();

在window.showModalDialog打开窗口中,关闭子窗口并刷新父窗口

window.dialogArguments.window.location = window.dialogArguments.window.location; self.close();

 

 

(一)showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口.

farther.html 
--------------------------- 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    
<HEAD>
        
<TITLE>New Document </TITLE>
        
<META content="EditPlus" name="Generator">
        
<META content="" name="Author">
        
<META content="" name="Keywords">
        
<META content="" name="Description">
        
<script language="javascript"> 
        
<!-- 
        
function openChild(){
        
var k = window.showModalDialog("child.html",window,"dialogWidth:335px;status:no;dialogHeight:300px"); 
        
if(k != null
        document.getElementById(
"txt11").value = k; 
        } 
        
//--> 
        </script>
    
</HEAD>
    
<BODY>
        
<FONT face="宋体"></FONT>
        
<br>
        传递到父窗口的值:
<input id="txt9" type="text" value="3333333333333" name="txt9"><br>
        返回的值:
<input id="txt11" type="text" name="txt11"><br>
        子窗口设置的值:
<input id="txt10" type="text" name="txt10"><br>
        
<input id="Button1" onclick="openChild()" type="button" value="openChild" name="Button1">
    
</BODY>
</HTML>


child.html 
---------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    
<HEAD>
        
<TITLE>New Document </TITLE>
        
<META content="EditPlus" name="Generator">
        
<META content="" name="Author">
        
<META content="" name="Keywords">
        
<META content="" name="Description">
        
<meta http-equiv="Expires" content="0">
        
<meta http-equiv="Cache-Control" content="no-cache">
        
<meta http-equiv="Pragma" content="no-cache">
    
</HEAD>
    
<BODY>
        
<FONT face="宋体"></FONT>
        
<br>
        父窗口传递来的值:
<input id="txt0" type="text" name="txt0"><br>
        输入要设置父窗口的值:
<input id="txt1" type="text" name="txt1"><input id="Button1" onclick="setFather()" type="button" value="设置父窗口的值" name="Button1"><br>
        输入返回的值:
<input id="txt2" type="text" name="txt2"><input id="Button2" onclick="retrunValue()" type="button" value="关闭切返回值" name="Button2">
        
<input id="Button3" onclick="" type="button" value="关闭刷新父窗口" name="Button3">
        
<script language="javascript"> 
        
<!-- 
        
var k=window.dialogArguments; 
        
//获得父窗口传递来的值 
        if(k!=null
        { 
        document.getElementById(
"txt0").value = k.document.getElementById("txt9").value; 
        } 
        
//设置父窗口的值 
        function setFather() 
        { 
        k.document.getElementById(
"txt10").value = document.getElementById("txt1").value 
        } 
        
//设置返回到父窗口的值 
        function retrunValue() 
        { 
        
var s = document.getElementById("txt2").value; 
        window.returnValue
=s; 
        window.close(); 
        } 
        
//--> 
        </script>
    
</BODY>
</HTML>


---------------------------- 
说明: 
由于showModalDialog缓存严重,下面是在子窗口取消客户端缓存的设置.也可以在服务器端取消缓存,参考: 
http://adandelion.cnblogs.com/articles/252137.html 
<meta http-equiv="Expires" CONTENT="0"> 
<meta http-equiv="Cache-Control" CONTENT="no-cache"> 
<meta http-equiv="Pragma" CONTENT="no-cache"> 



分享到:
评论

相关推荐

    window.showModalDialog模式对话框和 window.open的区别

    `window.showModalDialog` 和 `window.open` 都是JavaScript提供的两种打开新窗口的方法,但它们在功能和使用场景上有着显著的区别。 首先,我们来详细探讨`window.showModalDialog`。`showModalDialog`方法用于...

    window.showModalDialog以及window.open用法简介

    Window.showModalDialog 和 Window.open 用法简介 Window.showModalDialog 和 Window.open 都是 JavaScript 中的方法,用于创建新窗口或对话框,下面分别介绍它们的用法和参数。 一、Window.open() 方法 Window....

    Window.ShowModalDialog使用手册

    在JavaScript编程语言中,`Window.showModalDialog()`方法是一个非常重要的功能,主要用于打开一个模态对话框,即用户必须关闭对话框才能与父窗口进行交互。这个方法在创建用户交互和自定义弹出窗口场景中非常有用。...

    父子窗口传值window.showModalDialog以及window.open用法简介

    window.showModalDialog以及window.open用法简介

    window.showModalDialog(javascript)

    在其他浏览器中,如Firefox、Chrome和Safari,可能需要使用其他方法,如`window.open()`,配合CSS和JavaScript来实现类似的效果。 - 模态对话框可能会对用户体验造成影响,因为它会阻塞用户的交互,因此在现代Web...

    ShowModalDialog与window.open的区别

    JavaScript 提供了两种常用的方法来创建这类窗口:`ShowModalDialog` 和 `window.open`。这两种方法各有特点,在不同的场景下具有不同的适用性。 #### 二、ShowModalDialog详解 **1. 功能介绍** `ShowModalDialog...

    window.showModalDialog方法的使用

    在JavaScript编程中,`window.showModalDialog`是一个用于打开模态对话框的函数,它能够创建一个新的浏览器窗口或者在当前窗口内显示一个弹出层,阻止用户与父窗口的交互,直到用户关闭对话框为止。这个方法在创建...

    showModalDialog open弹出子窗口操作parent、opener父窗口及跨域处理

    1&gt; window.showModalDialog()采用JS原理实现,同时父窗口不可操作,window.open()采用新创建一个窗口,同时父窗口可操作; 2&gt; 父窗口与子窗口传递值的方式也有所不同,在子窗口中操作父窗口也语法也不同,分别为var...

    open 关闭子页面刷新父页面

    根据给定的代码片段和描述,“open关闭子页面刷新父页面”这一主题涉及到的关键知识点主要包括:使用JavaScript打开新窗口、父窗口与子窗口之间的通信,以及通过特定事件触发父窗口的刷新。 ### 使用JavaScript打开...

    'window.ShowModalDialog'在Chrome中不起作用

    `window.showModalDialog()` 是一个古老的JavaScript方法,用于在当前页面上打开一个模态对话框,该对话框阻止用户与页面其余部分进行交互,直到对话框被关闭。然而,这个功能在现代浏览器,特别是Google Chrome中...

    window.showModalDialog('d.html',fault,'');

    在这个例子中,`window.showModalDialog` 是用来显示一个模态窗口,用户必须与该窗口交互(关闭它)才能继续在主窗口中操作。我们来详细探讨这个知识点。 `window.showModalDialog` 是一个古老的浏览器内置函数,...

    js的window.showModalDialog及window.open用法实例分析

    JavaScript中的`window.showModalDialog`和`window.open`都是用于打开新窗口的方法,但它们有着不同的特性和用途。 首先,`window.open`方法是JavaScript中最常见的打开新窗口的方式,它适用于所有的主流浏览器,如...

    showModalDialog和window.open

    ### showModalDialog和window.open在Web开发中的应用与区别 在Web开发中,`showModalDialog`和`window.open`是两种用于打开新窗口或对话框的方法,但它们各自有着独特的特性和应用场景。以下是对这两种方法的详细...

    浅谈JavaScript窗体Window.ShowModalDialog使用

    值得注意的是,`window.showModalDialog()`返回的`vReturnValue`是对话框关闭时返回的值,可以是任何类型,这取决于对话框内部的实现。 与`window.showModalDialog()`类似,`window.showModelessDialog()`方法创建...

    刷新父窗口的多种方法

    在打开一个新的窗口或者弹出一个子窗口后,有时我们需要在关闭子窗口时刷新父窗口。这种方法非常常见,例如,在用户完成了一个表单填写并提交后,我们可能希望关闭这个弹出窗口并刷新主页面,以便用户能够看到最新的...

    JavaScript中window.showModalDialog()用法详解

    一个是window.showModalDialog()方法,后者是存在父子关系的一种弹出窗口,只有子窗关闭,父窗口才激活,并且可以传送参数和返回值。正好又温习一遍用法,顺便在此记录过程中遇到的问题。 基本介绍:  ...

    子窗口刷新父窗口总结

    本文档将深入探讨如何在子窗口关闭时刷新父窗口,包括使用`window.open()`、`window.showModalDialog()`以及jQuery进行操作的方法。 #### 一、使用`window.open()`刷新父窗口 `window.open()`方法用于创建一个新的...

Global site tag (gtag.js) - Google Analytics