1
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.org/scripts/478724/1278020/Notifier.js
'use strict';
if (typeof Notification !== "function") throw Error("Not Support yet!");
Notification.requestPermission();
const notify = (() => {
const open = (typeof GM_openInTab === "function") ?
GM_openInTab : (uri) => window.open(uri, "_blank");
const classic = (() => {
return ({text, title, image, silent, tag, url: uri, ondone}) => {
const options = {
body: text,
silent, tag,
data: uri,
icon: image,
};
if (!!tag) options.renotify = true;
const noti = new Notification(title, options);
noti.onclick = () => (open(noti.data), noti.close());
noti.onclose = ondone;
return {remove: () => noti.close()};
}
})();
const ver = GM_info.version;
const handler = GM_info.scriptHandler;
if (handler === "Violentmonkey") {
if (ver < "2.15.4") return classic;
const V2_15_4 = (opti) => {
const noti = GM_notification({
onclick: () => (open(opti.url), noti.remove()),
...opti
});
return noti;
};
if (ver > "2.16") return (opti) => {
opti.zombieUrl = opti.url;
opti.zombieTimeout = Number.MAX_SAFE_INTEGER;
return V2_15_4(opti);
};
return V2_15_4;
} else if (handler === "Tampermonkey" && ver >= "5.0")
return GM_notification;
else return classic;
})();