以前用过vc进行过开发的人都知道有模式对话框和非模式对话框两种,当然我不是想写vc下这两者的区别,好久没用了,我也写不出来了:)
Javascript里面也有模式对话框和非模式对话框的概念,说的这么复杂,其实两者区别就是是在对话框被关闭之前用户能否在同一页面的其他地方进行工作。比如“打开文件”对话框便是典型的模式对话框,在你对这个对话框做出动作才能对打开该对话框的程序进行其他操作,而非模式对话框则不必。
javascript里面打开模式对话框是showModalDialog(),非模式对话框是showModalessDialog(),IE5+支持直接调用该方法,但对以下版本需使用window.来调用,我比较喜欢的是使用后者,因为这样我的程序会好看 --!!
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])
上面面是两个函数的表达式,vReturnValue当然就是返回值了;sURL必选,为你要打开的页面; vArguments可选,用来向对话框传递参数;sFeatures可选,打开对话框的属性,各个属性直接用;隔开,下面是我Google到的一下sFeatures的参数,供参考:
1. dialogHeight: 对话框高度(单位有em和px等,我一般用px)
2. dialogWidth: 对话框宽度(同height)
3. dialogLeft: 离屏幕左的距离
4. dialogTop: 离屏幕上的距离
5. center: { yes | no | 1 | 0 } : 口是否居中,默认yes,但仍可以指定高度和宽度
6. help: {yes | no | 1 | 0 }: 是否显示帮助按钮,默认yes
7. resizable: {yes | no | 1 | 0 } [IE5+]: 是否可被改变大小,默认no
8. status: {yes | no | 1 | 0 } [IE5+]: 是否显示状态栏。默认为yes[ Modeless]或no[Modal]
9. scroll: { yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes
10. dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no
11. edge:{ sunken | raised }:指明对话框的边框样式。默认为raised
12. unadorned:{ yes | no | 1 | 0 | on | off }:默认为no
这里需要说明的一点就是在设置打开窗口属性时,即sFeatures,一定不要忘了feature前面是argument,要像window.showModalDialog(sURL,"","resizable:yes;scroll:no;")这样,我就犯过这种错误。