html5-notification-api

Used htlm5 notification in GC

当前为 2023-03-11 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         html5-notification-api
// @namespace    http://tampermonkey.net/
// @version      0.1
// @author       Nei
// @match        https://catwar.su/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @license      MIT
// @description  Used htlm5 notification in GC
// ==/UserScript==


(function() {
    'use strict';
    let intervalId;
    function notifyMe() {
        if(document.querySelector("#sek")){
            let arr =  document.querySelector("#sek").textContent.split(" ");
            let time;
            if(arr.length === 4){
                time = arr[0]*60*1000 + arr[2]*1000 - 500;
            }
            if(arr.length === 2){
                time = arr[0]*1000 - 500;
            }
            intervalId = setTimeout(notice, time);
            document.querySelector("#cancel").addEventListener("click", clearInterval);
        }
    }
    $('#block_deys').bind("DOMSubtreeModified",function(){
        document.querySelectorAll(".dey").forEach((item) =>
                                                  item.addEventListener("click", intervalNotify)
                                                 )
    })

    function intervalNotify(){
        setTimeout(notifyMe, 500);

    }

    function clearInterval(){
        clearTimeout(intervalId);
    }

    function notice(){
        if (!("Notification" in window)) {
            alert("This browser does not support desktop notification");
        } else if (Notification.permission === "granted") {
            const notification = new Notification("Действие закончилось");

        } else if (Notification.permission !== "denied") {
            Notification.requestPermission().then((permission) => {
                if (permission === "granted") {
                    const notification = new Notification("Действие закончилось");
                    // …
                }
            });
        }
    }
})();