JS如何關閉頁面

一、JS關閉頁面的代碼

通過window.close()方法可以關閉當前瀏覽器窗口:

window.close();

但是需要注意的是,只有通過window.open()方法打開的窗口才可以通過window.close()關閉,通過瀏覽器左上角的關閉按鈕或者使用Ctrl + W快捷鍵關閉的窗口是無法通過window.close()關閉的

二、JS關閉頁面的title

在通過window.open()方法打開的窗口中,可以通過給打開的頁面設置title屬性,然後在通過window.close()關閉時可以攜帶提示信息:

var newWindow = window.open("http://www.example.com","myWindow","width=200,height=100");
newWindow.document.title = "關閉提示";
newWindow.close();

三、JS關閉頁面事件

可以通過給window對象綁定beforeunload事件,在關閉窗口前進行一些操作或者給出確認提示:

window.addEventListener("beforeunload", function(event) {
    event.preventDefault();
    // 在此處添加需要執行的操作
    event.returnValue = '';
});

需要注意的是,event.preventDefault()方法是阻止窗口關閉的默認行為,如果要關閉窗口,必須將event.returnValue設置為空。

四、JS關閉頁面觸發的事件

頁面關閉時會觸發unload事件:

window.addEventListener("unload", function(event) {
    // 在此處添加需要執行的操作
});

五、JS關閉頁面方法

除了使用window.close()方法來關閉當前窗口,還可以使用window.open()方法打開一個空白窗口,然後通過window.opener.close()來關閉父窗口:

var newWindow = window.open("about:blank", "_self");
newWindow.opener = null;
newWindow.close();

六、JS關閉頁面彈窗

在關閉窗口時彈出確認提示框:

window.onbeforeunload = function() {
    return "您確定要離開嗎?";
};

七、JS關閉頁面監視器

可以通過使用setInterval()方法來監視當前窗口是否被關閉:

var closeWindow = null;
var checkWindow = function() {
    if(window.closed) {
        clearInterval(closeWindow);
        // 在此處添加需要執行的操作
    }
}
closeWindow = setInterval(checkWindow, 500);

上面的代碼每隔500毫秒檢查一次當前窗口是否被關閉,如果被關閉了就清除監視器。

八、JS關閉頁面彈出消息

在關閉窗口時彈出消息提示框:

window.onbeforeunload = function() {
    alert("您確定要離開嗎?");
};

九、JS停止關閉頁面

可以通過使用clearInterval()方法停止已經啟動的關閉窗口操作:

var newWindow = window.open("http://www.example.com","myWindow","width=200,height=100");
var closeWindow = setInterval(function() {
    newWindow.close();
}, 5000);
// 停止關閉窗口操作
clearInterval(closeWindow);

上面的代碼在5秒後會關閉新打開的窗口,但是可以通過clearInterval()方法來取消關閉。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/151408.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-11 13:41
下一篇 2024-11-11 13:41

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • 打包後頁面空白的解決方案

    當我們在調試階段時,我們的app可能看起來完美無缺,但當我們進行打包時,在運行app時,我們可能會遇到白屏或空白的問題。在這篇文章中,我們將探討如何解決這種問題。 一、檢查文件路徑…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字符無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字符無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • Python操作Web頁面

    本文將從多個方面詳細介紹Python操作Web頁面的技巧、方法和注意事項。 一、安裝必要的庫 在Python中操作Web頁面,需要用到一些第三方庫。 pip install req…

    編程 2025-04-28
  • JS圖片沿着SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿着SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27
  • 如何使用JS調用Python腳本

    本文將詳細介紹通過JS調用Python腳本的方法,包括使用Node.js、Python shell、child_process等三種方法,以及在Web應用中的應用。 一、使用Nod…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • 如何反混淆美團slider.js

    本文將從多個方面詳細闡述如何反混淆美團slider.js。在開始之前,需要明確的是,混淆是一種保護JavaScript代碼的方法,其目的是使代碼難以理解和修改。因此,在進行反混淆操…

    編程 2025-04-27

發表回復

登錄後才能評論