超级郁闷,刚才写的关于showModalDialog的应用,CSDN没保存,害我现在又写一变,MYGOD,哎,为了广大网友,也只能再写一遍了。
那我就简单的再复述一遍吧。o(∩_∩)o...
首先大家应该都碰到过弹出窗口这样的实例吧,我想大家搞开发的,心里都会有一些窗口弹出的方法,今天我先介绍的是showModelessDialog模态窗口打开方法,所谓的模态窗口,就是被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换到主窗口。类似alert的运行效果。
既然讲到模态窗口,那我就随便提一下showModelessDialog吧,大家从英文上也能看出来这个就是非模态的啦!被打开后,用户可以随机切换输入焦点。对主窗口没有任何影响(最多是被挡住一下而以)。
言归正传!我们还说说 showModalDialog怎么用吧!
window.showModalDialog("url","name","参数:值;参数:值;……")
url:对话框窗口链接地址
name:对话框的名称,可以为空
scroll:是否有滚动条,0表示无,非0表示有
status:是否有状态栏,0表示无,非0表示有
help:是否有问号,0表示无,非0表示有
resizable:是否可以用鼠标拖动改变框提大小,0表示不可以,非0表示可以
center:是否居中,0表示不居中,非0表示居中
dialogWidth:对话框宽度值
dialogHeight:对话框高度值
接着我们来看一个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 οnkeydοwn="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="关闭" οnclick="window.close()">
也要配合<base target="_self">,不然会打开一个新的IE窗口,然后再关掉的。