iT邦幫忙

0

window.close()關閉瀏覽器chrome

想請問為甚麼在本機測試網頁 執行 window.close()正常,但是在虛擬機測試時會發生:
Scripts may close only the windows that were opened by them.
上網查有說是因為安全性的關係,所以無法透過腳本直接關閉,也有測試過
window.opener= null;

window.open("","_self");

window.close();
但是還是出現警告,想問各位前輩有沒有其他建議或替代方法可以透過js執行類似window.close()。

1 個回答

1
浩瀚星空
iT邦超人 1 級 ‧ 2020-07-01 13:27:33
最佳解答

目前比較無解。
我以前的做法可以給你參考。
只是這個做法會改很多東西。

我當時是將所有的a連結跟href有關的指令。
全攔下來後。統一用 window.open 來去做觸發啟用。
這樣子下 window.close 就不會再出現警告。

但這招還是需要有一個主頁來處理。而這個主頁也是無法關閉的。
因為得要由主頁去呼叫關閉。
但至少我另開的視窗就不再有這個問題。

早期有一招也是可以關閉。也就是你用的

window.open("","_self"); 

先將頁面切到一個空頁後。再做關閉處理。
或是切到一個只有close命令的頁面。
但這招已經被改掉不能再用了。(不過ie好像還可以這樣用)

kekeke iT邦新手 5 級 ‧ 2020-07-02 08:37:53 檢舉

目前就是卡在開了空頁無法關閉這個窘境xd~
不過比較不懂的是 ,從intellij idea編譯器開啟的卻可以正常關閉,但網站架站後卻不行。這個是因為編譯器的關係嗎?/images/emoticon/emoticon06.gif

因為本地檔開是屬於你自已的資源,不會被限制。
如果你用個host,並使用外部ip的測試。就會被限制了。

kekeke iT邦新手 5 級 ‧ 2020-07-02 13:48:37 檢舉

了解~~謝謝解惑~

我要發表回答

立即登入回答