showModalDialogQ被打开后就?x)始l保持输入焦炏V除非对话框被关闭,否则用户无法切换CH口。类似alert的运行效果?br />
showModelessDialogQ被打开后,用户可以随机切换输入焦点。对ȝ口没有Q何媄?最多是被挡住一下而以?P)
二、怎样才让在showModalDialog和showModelessDialog的超q接不弹出新H口Q?br />
在被打开的网里加上<base target="_self">可以了。这句话一般是攑֜<html>?lt;body>之间的?br />
三、怎样才刷新showModalDialog和showModelessDialog里的内容Q?br />
在showModalDialog和showModelessDialog里是不能按F5h的,又不能弹单。这个只能依靠javascript了,以下是相关代码:(x)
<body onkeydown="if (event.keyCode==116){reload.click()}">
<a id="reload" href="filename.htm" style="display:none">reload
</a>
filename.htm替换成网늚名字然后它攑ֈ你打开的网里Q按F5可以刷CQ注意,q个要配?div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><base target="_self">
使用Q不然你按下F5?x)弹出新H口的?br />
四、如何用javascriptxshowModalDialog(或showModelessDialog)打开的窗口?br />
<input type="button" value="关闭" onclick="window.close()">
也要配合<base target="_self">Q不然会(x)打开一个新的IEH口Q然后再x的?br />
五、showModalDialog和showModelessDialog数据传递技巧?br />
(作者语Q本来想用一问一{Ş式来写的Q但是我想不个怎么问,所以只好这样了?
q个东西比较ȝQ我改了好几ơ了不是没办法说明白(语文水^来差?Q只好用个例子说明了?br />
例子Q?br />
现在需要在一个showModalDialog(或showModelessDialog)里读取或讄一个变量var_name
一般的传递方式:(x)
window.showModalDialog("filename.htm",var_name)//传递var_name变量
在showModalDialog(或showModelessDialog)d和设|时Q?br />
lert(window.dialogArguments)//dvar_name变量
window.dialogArguments="oyiboy"http://讄var_name变量
q种方式是可以满的Q但是当你想在操作var_name同时再操作第二个变理var_id时呢Q就无法再进行操作了。这是q种传递方式的局限性?br />
以下是我使用的传递方式:(x)
//不管要操作什么变量,只直传递主H口的window对象
在showModalDialog(或showModelessDialog)d和设|时Q?br />
alert(window.dialogArguments.var_name)//dvar_name变量
window.dialogArguments.var_name="oyiboy"http://讄var_name变量
同时我也可以操作var_id变量
alert(window.dialogArguments.var_id)//dvar_id变量
window.dialogArguments.var_id="001"http://讄var_id变量
同样q可以对ȝ口的M对象q行操作Q如form对象里的元素?br />
window.dialogArguments.form1.index1.value="q是在设|index1元素的?
六、多个showModelessDialog的相互操作?br />
因ؓ(f)光说很费Ԍ我就L(fng)懒,直接用代码来说了Q如果不明白的话那就直接来信(oyiboy#163.net(使用时请?Ҏ(gu)@))问我吧?br />
以下代码的主要作用是在一个showModelessDialog里移动别一个showModelessDialog的位|?br />
L件的部䆾js代码?br />
var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px") //打开控制H口
var s2=showModelessDialog('about:blank',window,"dialogTop:200px;dialogLeft:300px") //打开被控制窗?br />
控制.htm的部份代码?br />
<script>
//操作位置数据Q因为窗口的位置数据?xxxpx"方式的,所以需要这L(fng)一个特D操作函数?/span>
function countNumber(A_strNumber,A_strWhatdo)
{
A_strNumber=A_strNumber.replace('px','')
A_strNumber-=0
switch(A_strWhatdo)
{
case "-":A_strNumber-=10;break;
case "+":A_strNumber+=10;break;
}
return A_strNumber + "px"
}
</script>
<input type="button" onclick="window.dialogArguments.s2.dialogTop=countNumber(window.dialogArguments.s2.dialogTop,'-')" value="上移">
<input type="button" onclick="window.dialogArguments.s2.dialogLeft=countNumber(window.dialogArguments.s2.dialogLeft,'-')" value="左移">
<input type="button" onclick="window.dialogArguments.s2.dialogLeft=countNumber(window.dialogArguments.s2.dialogLeft,'+')" value="右移">
<input type="button" onclick="window.dialogArguments.s2.dialogTop=countNumber(window.dialogArguments.s2.dialogTop,'+')" value="下移">
以上关键部䆾是:(x)
H口命名方式Qvar s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px")
变量讉K方式Qwindow.dialogArguments.s2.dialogTop
q个例子只是现实showModelessDialog与showModelessDialog之间的位|操作功能,通过q个原理Q在showModelessDialog之间怺控制各自的显C页面,传递变量和数据{。这要看各位的发挥了?img src ="http://www.aygfsteel.com/paulwong/aggbug/63893.html" width = "1" height = "1" />
]]>