代码改变世界

javascript打开模态窗口

2013-04-25 11:05  hduhans  阅读(708)  评论(0)    收藏  举报

window.showModalDialog("url","name","参数:值;参数:值;……")
 url:对话框窗口链接地址
 name:对话框的名称,可以为空
 scroll:是否有滚动条,0表示无,非0表示有
 status:是否有状态栏,0表示无,非0表示有
 help:是否有问号,0表示无,非0表示有
 resizable:是否可以用鼠标拖动改变框提大小,0表示不可以,非0表示可以
    center:是否居中,0表示不居中,非0表示居中
 dialogWidth:对话框宽度值
 dialogHeight:对话框高度值

例子:window.showModalDialog("pages/xssw/studentBorrowFaction.jsf","","dialogwidth:800px;dialogheight:200px; toolbar=no,top=200,left=200, menubar=no, location=no, status=no");

接着我们来看一个JS实例:

<script language="JavaScript"> 
function formUserSelect()

    openStdDlg("UserSelect.aspx", null, 700, 530);
}

function formPermissionSelect()

    openStdDlg("PermissionSelect.aspx", null, 700, 530);
}
//
// 弹出窗口打开方法
//
function openStdDlg(sPath, oArgs, iX, iY)
{
window.showModalDialog(sPath, oArgs, "dialogWidth:" + iX + "px;dialogHeight:" + iY +"px;help:0;status:0;scroll:0;center:1");
}<\script>

一、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?
  在被打开的网页里加上<base target="_self">就可以了。这句话一般是放在<head>之间的。

二、怎样才刷新showModalDialog和showModelessDialog里的内容?
  在showModalDialog和showModelessDialog里是不能按F5刷新的,又不能弹出菜单。这个只能依靠

javascript了,以下是相关代码:

<body onkeydown="if (event.keyCode==116){reload.click()}">
<a id="reload" href="filename.htm" style="display:none">reload...</a>

  将filename.htm替换成网页的名字然后将它放到你打开的网页里,按F5就可以刷新了,注意,这个要

配合<base target="_self">使用,不然你按下F5会弹出新窗口的。

三、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。
  <input type="button" value="关闭" onclick="window.close()">
  也要配合<base target="_self">,不然会打开一个新的IE窗口,然后再关掉的。