我正在开发一个Web应用程序,我在其中使用JavaScript进行客户端脚本编写。现在我的要求是关闭通过window.showModalDialog()
打开的所有打开的窗口。
为此,我使用window.history.length
阅读浏览器的历史记录,但我不知道如何关闭每个窗口。这适用于window.open()
,但不适用于window.showModalDialog()
。
你能指导我前进吗?
答案 0 :(得分:0)
您可以按如下方式关闭打开的窗口:
要打开:
var window1=window.open("http://somedomain.com");
var window2=window.open("http://someotherdomain.com");
关闭
window1.close();
window2.close();
但请务必在打开它的同一个脚本上调用window1.close()
等等。
答案 1 :(得分:0)
您不应该使用window.showModalDialog
。 Firefox has deprecated it和Chrome has removed it。另请查看window.showModalDialog: What It is and Why You Should Never Use It。
showModalDialog
的想法是,当模态窗口打开时,所有脚本都会暂停。因此,使用window.close
不起作用,因为只要窗口打开,就不再执行脚本了。
一种可能性是在模态对话框中使用JavaScript,以便关闭本身。你将无法从外面关闭它。