在網頁上創建一個按鈕,用戶點擊:提示是否關閉瀏覽器(窗口),如果用戶點擊“是”,關閉該頁面,如果“否”,則什么也不做。
代碼實現:
/**
* 關閉瀏覽器窗口
*/
export const closeWindow = () => {

var userAgent = navigator.userAgent
if (userAgent.indexOf('Firefox') !== -1 || userAgent.indexOf('Chrome') !== -1) {
window.location.replace('about:blank')
} else {

window.opener = null
window.open('', '_self')
}
window.close()

}
代碼說明:
1、.() 方法可用一個新文檔取代當前文檔。我們這里使用一個空白“about:blank”。
2、屬性是一個可讀可寫的屬性,可返回對創建該窗口的 對象的引用,這里我們賦值為空null;使用.open()打開一個窗口,賦值空字符串代表空白窗口。
3、.close() 方法用于關閉瀏覽器窗口,所有主要瀏覽器基本都支持 close() 方法。
4、如果是“”和“”執行.() 方法,其他瀏覽器執行. = null;.open('', '_self')。
總結
在某些實際應用中js什么可實現刷新當前網頁,.close() 和self.close() 是不能關閉非彈出窗口的。
非彈出窗口,即是指(=null 及 非.open()打開的窗口,比如URL直接輸入的瀏覽器窗體, 或由其它程序調用產生的瀏覽器窗口)。
而且由于部分瀏覽器的限制,部分版本的保護加強,會導致上述代碼被攔截。比如:對于火狐來說js什么可實現刷新當前網頁,默認js不能關閉用戶打開的網頁,但可以通過提醒用戶改的配置文件來實現:
步驟:
1、在地址欄輸入about:然后回車,警告確認
2、在過濾器中輸入”dom.“,雙擊即可將此值設為true
這種方法雖然可以很快解決問題,但是實際應用中不可能去要求每個用戶去改自己瀏覽器的配置。