javascript模式对话框 window.open 如何写?

JavaScript09

javascript模式对话框 window.open 如何写?,第1张

showModalDialog是打开模式对话框,第一个参数为要打开的页面的地址,不能为空,第二个为打开的页面的标题,第三个为外观设置,跟window.open的外观设置参数格式是不同的。

function adduser(adduser)

{

window.showModalDialog("你的url地址",adduser,"dialogheight:800pxdialogwidth:600pxstatus:notoolbar:nomenubar:noscrollbars:noresizable:no")

}

<input src="1.gif" type=image onclick="adduser('abc')">

模态和非模态的区别在于,模态窗体弹出后需要将其窗体关闭后才能进行除该窗体以外的其他操作,通俗点说就是除了该窗体上的操作,其他的操作都无效

原生JS用法:

模态:window.showModalDialog(非标准)

非模态:window.showModelessDialog(IE5+,非标准),window.open(所有浏览器,标准)

不推荐使用以上三种方法实现模态窗体,原因有二:

一是以上方法在各个浏览器上表现各不一样,不一定能兼容所有主流浏览器(未测试,但我知道肯定不行)

二是如今大多数现代浏览器会屏蔽掉弹出窗体,会给您实现功能造成极大的障碍

使用JS模拟弹出窗体:

使用层(一般是div)模拟一个窗体,将其放置在所有层之上,加上希望的功能,比如close,resize等等,其中的内容如果是其他页面,我们可以用iframe,这些都很灵活,可以自己定义规则,这样就形成了一个非模态窗体。

在上面的基础上,在窗体层下放置一个mask层,其作用在于不让操作除窗体层以外的内容,最后将mask层设置为深色并且半透明,这样就形成了一个模态窗体了。

以上只是原理,毕竟自己来做很恼火,当今主流js框架都实现了类似的功能,比如jQuery,ext等,用法也很简单,也很兼容各种主流浏览器,所以使用js框架来实现是最推荐的

希望对您有帮助~

By Billskate

帮你改为:

window.showModalDialog(url,window,"dialogHeight:700pxdialogWidth:1000pxcenter:yesresizable:nostatus:noscroll:yeshelp:no")

别用“=”号了,用“:”号

你里面的dialogLeft=0pxdialogTop=0px与center=yes有矛盾啊,要居中就选center=yes要放在窗口的左上角就选dialogLeft=0pxdialogTop=0px