当你想要使用window.showModalDialog函数时,有什么情况?看起来你可以用window.open函数和几个参数来移除一些chrome (导航,地址栏等),做同样的事情。
你想在什么时候使用window.showModalDialog和window.open?
发布于 2009-04-08 01:41:17
模式对话框是由父级打开的对话框,在关闭对话框之前不允许您将焦点放在父级上。
可以对登录表单、编辑表单等使用模式对话框,您希望有一个弹出式窗口用于用户交互,但不允许用户返回到打开弹出式窗口的窗口。
顺便说一句,我认为只有Internet Explorer实现了window.showModalDialog,所以这就限制了你对它的使用。
发布于 2012-07-06 08:53:45
自从这个问题最初被提出以来,已经有几年了,从那时起,情况发生了一些变化。window.showModalDialog现在正式成为standardized as part of HTML5,并在IE、火狐3+、Chrome (albeit buggy)和Safari 5.1+中得到支持。
不幸的是,window.showModalDialog仍然受到许多问题的困扰。
默认情况下,
因此,使用window.showModalDialog仍然不是一个好主意。如果您需要打开的窗口是模态的(即用户在处理对话框之前无法与页面的其余部分进行交互),我建议您使用jQuery UI's dialog plugin。
window.open将适用于非模式窗口,但我会坚持使用jQuery UI的对话框,因为打开新窗口往往会让用户感到厌烦。
如果你感兴趣,我会在我的博客- http://tjvantoll.com/2012/05/02/showmodaldialog-what-it-is-and-why-you-should-never-use-it/上详细介绍这一点。
发布于 2012-04-11 21:29:11
showModalDialog()目前正在作为HTML5的一部分进行标准化。第三个参数(用于附加选项)在HTML5版本中不存在,并且(安全地)被Safari和Chrome忽略。
http://dev.w3.org/html5/spec//user-prompts.html#dialogs-implemented-using-separate-documents
https://stackoverflow.com/questions/728196
复制相似问题