2014-03-04 65 views
0

我正在使用JavaScript作爲客戶端腳本的Web應用程序。現在我的要求是關閉通過window.showModalDialog()打開的所有打開的窗口。關閉瀏覽器歷史記錄中的窗口

爲此,我使用window.history.length來閱讀瀏覽器的歷史記錄,但我不知道如何關閉每個窗口。這適用於window.open(),但不適用於window.showModalDialog()

你能指導我前進嗎?

+2

通常只有打開窗口的頁面(和窗口本身)可以使用javascript關閉它。您無法關閉通過另一個頁面打開的窗口。 –

+0

嗨塞德里克,它正常工作,如果我使用window.returnValue身體的onunload事件。但要求是關閉歷史。 – Prem

回答

0

如下您可以關閉打開的窗口中:

要打開:

var window1=window.open("http://somedomain.com"); 
var window2=window.open("http://someotherdomain.com"); 

,收

window1.close(); 

window2.close(); 

但可以肯定你打電話window1.close()等。在你打開它的同一個腳本上。

0

您不應該使用window.showModalDialogFirefox has deprecated itChrome has removed it。也看看window.showModalDialog: What It is and Why You Should Never Use It

showModalDialog的想法是所有腳本在模態窗口打開時暫停。因此,使用window.close不起作用,因爲只要該窗口處於打開狀態,就不會執行更多腳本。

一種可能性是在模態對話框中使用JavaScript,以便關閉本身。你將無法從外面關閉它。