1,vReturnValue = window.showModelDialog(sURL [, vArguments] [,sFeatures])
vArguments--
可选参数,用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
vArguments的类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象。如果为this或window,则传递的是父页面的引用
parent.htm
var obj = new Object();
obj.name="51js";
window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
modal.htm
var obj = window.dialogArguments
alert("您传递的参数为:" + obj.name)
2,怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?
在被打开的网页里加上<base target="_self">
3,怎样才刷新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会弹出新窗口的。
在模态窗口的模态窗口中刷新父窗口,可用:
String js = "<script>"
+ "self.close();parent.window.dialogArguments.alert('成功!');"
+ "parent.window.dialogArguments.document.getElementById('reload').click();"
+ "</script>";
4、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。
<input type="button" value="关闭" onclick="window.close()">
也要配合<base target="_self">,不然会打开一个新的IE窗口,然后再关掉的。
5,window.open打开的窗口不产生滚动条,怎么办?
修改body : <body scroll="yes">。 看起来是yes,以为就算没有超出范围也会有滚动条,而实际上IE会自动判断,只有超出才会有滚动条,实际效果应该是scroll=auto.为什么会这样?不深究了。
6,不能location.reload,而要用location.href=''
7,在模态对话框里显示滚动条
在body里加style="overflow: auto;" scroll="yes"