Greasy Fork

Greasy Fork is available in English.

隐藏网页请求通知权限

自动隐藏所有网页的通知权限请求。

当前为 2024-05-20 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
 
 
// @name        隱藏網頁要求通知權限
// @name:zh-TW   隱藏網頁要求通知權限
// @name:zh-CN   隐藏网页请求通知权限
// @name:ja      ウェブページの通知権限リクエストを非表示にする
// @name:en      Hide Webpage Notification Permission Requests
// @name:es      Ocultar solicitudes de permiso de notificación de página web
// @name:fr      Masquer les demandes de permission de notification de page Web
// @name:de      Webseitenbenachrichtigungsberechtigungsanfragen ausblenden
// @name:it      Nascondi richieste di autorizzazione alle notifiche delle pagine web
// @name:pt      Ocultar pedidos de permissão de notificação da página da web
// @name:ru      Скрыть запросы разрешения на уведомления веб-страницы
// @name:nl      Verberg meldingsmachtigingsverzoeken van webpagina's
// @name:ko      웹 페이지 알림 권한 요청 숨기기
// @name:ar      إخفاء طلبات إذن الإشعار على صفحات الويب
// @name:hi      वेबपेज सूचना अनुमति अनुरोध छुपाएं
// @name:tr      Web sayfası bildirim izni isteklerini gizleme
// @name:id      Sembunyikan permintaan izin pemberitahuan halaman web
// @name:vi      Ẩn yêu cầu quyền thông báo của trang web
// @name:th      ซ่อนคำขอการอนุญาตการแจ้งเตือนของหน้าเว็บ
 
// @version      0.8
 
// @description:zh-TW   自動隱藏所有網頁的通知權限要求。
// @description:zh-CN   自动隐藏所有网页的通知权限请求。
// @description:ja      すべてのウェブページの通知権限要求を自動的に非表示にします。
// @description:en      Automatically hides notification permission requests on all webpages.
// @description:es      Oculta automáticamente las solicitudes de permiso de notificación en todas las páginas web.
// @description:fr      Masque automatiquement les demandes de permission de notification sur toutes les pages Web.
// @description:de      Verbirgt automatisch Benachrichtigungsberechtigungsanfragen auf allen Webseiten.
// @description:it      Nasconde automaticamente le richieste di autorizzazione alle notifiche su tutte le pagine web.
// @description:pt      Oculta automaticamente os pedidos de permissão de notificação em todas as páginas da web.
// @description:ru      Автоматически скрывает запросы на разрешение уведомлений на всех веб-страницах.
// @description:nl      Verbergt automatisch meldingsmachtigingsverzoeken op alle webpagina's.
// @description:ko      모든 웹 페이지에서 알림 권한 요청을 자동으로 숨깁니다.
// @description:ar      يخفي تلقائيًا طلبات إذن الإشعار على جميع صفحات الويب.
// @description:hi      सभी वेबपेजों पर सूचना अनुमति अनुरोधों को स्वचालित रूप से छुपाता है।
// @description:tr      Tüm web sayfalarında bildirim izni isteklerini otomatik olarak gizler.
// @description:id      Secara otomatis menyembunyikan permintaan izin pemberitahuan di semua halaman web.
// @description:vi      Tự động ẩn các yêu cầu quyền thông báo trên tất cả các trang web.
// @description:th      ซ่อนคำขอการอนุญาตการแจ้งเตือนโดยอัตโนมัติบนเว็บไซต์ทั้งหมด
 
 
// @author       Scott
 
// @match        *://*/*
// @grant        none
 
 
// @license      MIT
// @namespace    https://www.youtube.com/c/ScottDoha
 
// @description 自動拒絕所有網頁的通知權限要求。
// ==/UserScript==
 
 
 
// 替換 requestPermission() 函數為自定義函數
// Replace requestPermission() function with a custom function
const originalRequestPermission = Notification.requestPermission || function() {};

// 自定義函數,當請求通知權限時調用
// Custom function called when requesting notification permission
Notification.requestPermission = function() {
    // 檢查瀏覽器語言
    // Detect browser language
    var userLanguage = navigator.language || navigator.userLanguage;

    // 輸出對應語言
    // Output corresponding language
    switch(userLanguage) {
        case "zh-CN":
        case "zh-SG":
            console.log("简体中文:通知权限请求已拦截。隐藏通知请求。");
            break;
        case "zh-TW":
        case "zh-HK":
            console.log("繁體中文:通知權限請求已攔截。隱藏通知請求。");
            break;
        case "ja":
            console.log("日本語:通知許可要求がインターセプトされました。通知リクエストが非表示になります。");
            break;
        case "es":
            console.log("Spanish: Solicitud de permiso de notificación interceptada. Ocultando la solicitud de notificación.");
            break;
        case "fr":
            console.log("French: Demande de permission de notification interceptée. Masquage de la demande de notification.");
            break;
        case "de":
            console.log("German: Benachrichtigungsberechtigungsanfrage abgefangen. Benachrichtigungsanfrage ausblenden.");
            break;
        case "it":
            console.log("Italian: Richiesta di autorizzazione alle notifiche intercettata. Nascondi la richiesta di notifica.");
            break;
        case "pt":
            console.log("Portuguese: Solicitação de permissão de notificação interceptada. Ocultando a solicitação de notificação.");
            break;
        case "ru":
            console.log("Russian: Запрос разрешения на уведомление перехвачен. Скрытие запроса на уведомление.");
            break;
        case "nl":
            console.log("Dutch: Meldingsmachtigingsverzoek onderschept. Verbergen van het meldingsverzoek.");
            break;
        case "ko":
            console.log("Korean: 알림 권한 요청이 가로채졌습니다. 알림 요청 숨기기.");
            break;
        case "ar":
            console.log("Arabic: تم اعتراض طلب إذن الإشعار. إخفاء طلب الإشعار.");
            break;
        case "hi":
            console.log("Hindi: अधिसूचना अनुमति अनुरोध रोक दिया गया। अधिसूचना अनुरोध छिपाना।");
            break;
        case "tr":
            console.log("Turkish: Bildirim izni talebi engellendi. Bildirim isteğini gizleme.");
            break;
        case "id":
            console.log("Indonesian: Permintaan izin pemberitahuan disisipkan. Menyembunyikan permintaan pemberitahuan.");
            break;
        case "vi":
            console.log("Vietnamese: Yêu cầu quyền thông báo đã bị chặn. Ẩn yêu cầu thông báo.");
            break;
        case "th":
            console.log("Thai: คำขออนุญาตการแจ้งเตือนถูกดักแล้ว กำลังซ่อนคำขอการแจ้งเตือน");
            break;
        default:
            console.log("English: Notification permission request intercepted. Hiding notification request.");
    }

    // 返回一個已解析的 Promise 對象
    // Return a resolved Promise
    return Promise.resolve();
};