html5-notification-api

Used htlm5 notification in GC

Verze ze dne 11. 03. 2023. Zobrazit nejnovější verzi.

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

// ==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("Действие закончилось");
                    // …
                }
            });
        }
    }
})();