window.showModalDialog刷新父窗口和本窗口的方法及注意

window.showModalDialog刷新父窗口和本窗口的方法及注意:
 
一.刷新父窗口的方法:
   A.使用window.returnValue给父窗口传值,然后根据值判断是否刷新。

在window.showModalDialog窗口页面中用window.returnValue方式设置返回值;
      比如:window.returnValue=‘refresh‘;
    
   B。在写window.showModalDialog弹出窗口函数时,定义个变量,然后根据变量值进行操作父窗口的操作;
   例如:var
winPar=window.showModalDialog(urls,‘ERPWINDOWS‘,‘dialogWidth=‘+widths+‘px;dialogHeight=‘+heigths+‘px;status=no;center=yes;scroll=no‘);
  if(winPar == "refresh")
       window.location.reload();//当window.showModalDialog窗口关闭时执行
         winPar为A步骤给showModalDialog窗口设置的返回值

总结:由于window.showModalDialog函数打开一个IE的模式窗口(就是打开后不能操作父窗口,只能等模式窗口关闭时才能操作),
     
        所以想要刷新父窗口只能在模式窗口关闭后执行。用window.returnValue可以向父窗口传值,这样一来可以用从模式窗口向父窗口传递值,
 
 然后根据值判断操作父窗口的方式来刷新。这样在任何关闭了模式窗口后父窗口都会自动刷新.

二.刷新模式本窗口
   showModalDialog窗口与window.open打开的窗口刷新本窗口时不同,showModalDialo窗口也不能用F5刷新,也没有右键操作
   A. 在模式窗口页面中加入:      
      <base target="_self"> //在html和body之间
      <a id="reload" href="本页面url"
style="display:none"></a>

B. 在需要执行刷新操作的地方执行以下js:
        reload.click();//reload为A中隐藏a标签的id,当然可以换成其它名称

三。注意事项

在点击window.showModalDialog窗口的链接的时候会打开新窗口,想要阻止打开新窗口,需要在窗口页面中的html和body之间
    加入: <base target="_self" />即可

时间: 2024-09-29 16:08:42

window.showModalDialog刷新父窗口和本窗口的方法及注意的相关文章

ssi2+ajax实现唯一性验证+showModalDialog刷新父页面

最近研究了strust2和ajax结合实现方法 先看一下页面① <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <%@ taglib prefix="c" uri="http

window.showModalDialog两次加载问题清除缓存方法

问题: window.showModalDialog两次加载问题:你第一次打开窗口后,第二次浏览器没有从服务器端取数据,而直接找到了你已经下载的文件,也就是不再走后台的Action方法(即使数据已经更新,页面上显示的还是第一次加载,即:更新之前的数据): 解决方案: 1.设置浏览器属性 将IE的设置改一下再试试,Internet选项->常规->设置->每次访问此页时检查 (优点全站重加载,可解决问题) 2.添加缓存,把以前的缓存给清除 //加入缓存,清除以前数据,防止不进行加载页面 &l

window.showModalDialog与opener及returnValue

首先来看看 window.showModalDialog 的参数 vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures]) ; sURL : 打开窗口的地址; vArguments : 传递参数; sFeatures : 窗口属性列表; 第一个参数是必须的, 后两个可以省略. 这里我们要利用的就是第二个参数. 原理是将父窗口的被控制对象以参数的形式传递到子窗口, 在子窗口中直接控制这个对象即可. 举例来说:

JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作

一.Iframe 篇 公共部分 //父对象得到子窗口的值 //ObjectID是窗口标识,ContentID是元素ID function GetValue(ObjectID,ContentID) { var IsIE = (navigator.appName == 'Microsoft Internet Explorer') if(IsIE) {//如果是IE alert(document.frames(ObjectID).document.getElementById(ContentID).i

总结js(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作

http://hi.baidu.com/yashua839/blog/item/131fdb2fe547ef221f3089af.html一.Iframe 篇 //&&&&&&&&&&&&&&&&&&&&公共方法开始&&&&&&&&&&&&&&a

自己收藏-javascript用window.open的子窗口关闭自己并且刷新父窗口

function closeMeAndReloadParent() { opener.location.reload(); window.close(); } 一种在父窗口中得知window.open()出的子窗口关闭事件的方法 <HTML><BODY><P> </P><form name=fm_Info><input type=text name=txtValue></form><script language=j

父窗口window.showModalDialog传值 子窗口window.returnValue返回值

父窗口打开子窗口页面: var fatherWindow = document.all.dealReason;//想传的值 win = window.showModalDialog(strUrl, fatherWindow, "dialogWidth=800px;dialogHeight=600px;"); //strUrl是子窗口页面,fatherWindow是想传的值,win是子窗口返回的值document.all.dealReason.value = win; 子窗口: var

window.showModalDialog 子窗口数据回填父窗口

window.open 打开窗口时,可以很轻松的取得其父窗口.项目中需要用 showModalDialog打开窗口,想要取得父窗口值,而且还要在 open的基础上修改 为了不让 window.returnValue 所返回的值不是那么烦索,就要想办法如何用showModalDialog 打开的窗口取得其父窗口.合理利用 showModalDialog 传入的参数便可以解决这个问题. 话不多说,看例子: 父窗口:a.html <html>     <head>         <

打开新窗口,window.open 和window.showModalDialog

window.open: window.open是非阻态窗口,也叫非模态窗口,也就是说当你打开window.open这个子窗口后,还可以切换去操作父窗口. 一般的格式是这样的: <span style="font-size:14px;"><strong>window.open('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrol