Disable Confirmation Dialog When Leaving A Web Page

Disable confirmation dialog when leaving a web page

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name        Disable Confirmation Dialog When Leaving A Web Page
// @namespace   DisableConfirmationDialogWhenLeavingAWebPage
// @description Disable confirmation dialog when leaving a web page
// @license     GNU AGPLv3
// @author      jcunews
// @match       *://*/*
// @version     1.0.5
// @grant       none
// @run-at      document-start
// ==/UserScript==

(() => {
  var d = Object.getOwnPropertyDescriptor(window, "onbeforeunload");
  d.set = function(f) {
    return f;
  };
  Object.defineProperty(window, "onbeforeunload", d);
  d = EventTarget.prototype.addEventListener;
  EventTarget.prototype.addEventListener = function(typ) {
    if (typ.toLowerCase() !== "beforeunload") return d.apply(this, arguments);
  };
})();