只有由 window.open() 開啟、或 <a target="_blank"> 導航開啟的頁面,才允許腳本 window.close() 關閉自身。
IE 早期版本未嚴格執行此安全限制,屬於非標準行為,現代瀏覽器 (Chrome/Firefox/Edge/Safari) 全部封鎖。
// A.jsp 表單提交 → 導向 B.jsp (同分頁/同視窗)
// B.jsp 按鈕呼叫 window.close() → 失敗
這是**同一標籤頁內導航**,非 window.open 開啟的新視窗,故無權關閉。
window.open('B.jsp', '_blank', 'width=...,height=...'),B 頁即可 window.close()。window.open 開啟,B 完成任務後 window.opener.location.reload(); window.close();。window.history.back() 返回上一頁,非關閉視窗但體驗相近。嘗試繞過限制 (如開啟 about:blank 再關閉) 屬於濫用,可能被瀏覽器攔截或未來版本失效,請採用正規架構方案。