该死的模式窗口showModalDialog的用法

来源:互联网 发布:深圳淘宝培训学校 编辑:程序博客网 时间:2024/05/17 01:23

 

 最近几天一直在处理模式窗口的问题,索性写了这篇总结,以供参考:
  1。打开窗口:
  var handle = window.showModalDialog(url, objects, feathers);
  其中:objects可以为参数(包括数组),也可以是对象。
  通常的用法 objects = {window} ,把父窗体的对象共享给子窗体。
  2。关闭子窗口:
  window.close();
  3。从子窗体传参数给父窗体:
  window.returnVal = string;
  3。清除缓存,防止模式窗口页面不更新的情况:
  HTML
  <META HTTP-EQUIV="pragma" CONTENT="no-cache">
  <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
  <META HTTP-EQUIV="expires" CONTENT="Mon, 23 Jan 1978 20:52:30 GMT">
  ASP
  <%
  Response.Expires = -1
  Response.ExpiresAbsolute = Now() - 1
  Response.cachecontrol = "no-cache"
  %>
  PHP
  header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  header("Cache-Control: no-cache, must-revalidate");
  header("Pragma: no-cache");
  JSP
  response.setHeader("Pragma","No-Cache");
  response.setHeader("Cache-Control","No-Cache");
  response.setDateHeader("Expires", 0);
  4。防止打开新窗口(如提交表单):
  <base target="_self">
  5。在模式窗口使用F5刷新页面:
  <base target="_self">
  <body onkeydown="if (event.keyCode==116){reload.click()}">
  <a id="reload" href="filename.htm" style="display:none">reload...</a>
  其中:filename为窗口页面。
  6。防止模式窗口打开的页面出现cookie丢失的情况:
  模式窗口打开新窗口时,仅可以使用 showModalDialog(url,window,feathers); 方法,且 objects 为 window 。

 

原创粉丝点击