篡改猴插件,通知功能优化,连续发起通知时,会先关闭上一个通知。

scripts
王良 7 months ago
parent 255f05eef9
commit e5486cb652

@ -19,7 +19,13 @@
pluginElement: null, // 插件div pluginElement: null, // 插件div
menusElement: null, // 菜单列表div menusElement: null, // 菜单列表div
menus: {}, // 菜单集合 menus: {}, // 菜单集合
menuIndex: 0 // 菜单索引用于生成menuCmdId menuIndex: 0, // 菜单索引用于生成menuCmdId
lastNotification: null // 最后一次通知
/*{
obj: null, // 通知对象
options: null, // 通知选项
timeout: null // 通知定时器
}*/
}; };
// 创建插件样式 // 创建插件样式
@ -323,9 +329,27 @@
// 显示通知方法 // 显示通知方法
const showNotification = () => { const showNotification = () => {
// 先关闭上一个通知
let lastNotification = context.lastNotification;
if (lastNotification) {
if (lastNotification.timeout) {
clearTimeout(lastNotification.timeout);
}
lastNotification.obj.close();
if (lastNotification.options && typeof lastNotification.options.ondone === "function") lastNotification.options.ondone();
context.lastNotification = null;
}
const notification = new Notification(text); const notification = new Notification(text);
lastNotification = {
obj: notification,
options: options,
timeout: null
}
context.lastNotification = lastNotification;
if (options.timeout) { if (options.timeout) {
setTimeout(function () { lastNotification.timeout = setTimeout(function () {
context.lastNotification = null // 清除最后一个通知
notification.close(); notification.close();
if (options.ondone) options.ondone(); // 回调 if (options.ondone) options.ondone(); // 回调
}, options.timeout) }, options.timeout)

Loading…
Cancel
Save