我有一个用户脚本,如果目标页面上存在某些内容,则会弹出通知。
在Tampermonkey / Chrome下,这不是问题。我可以使用GM_Notification()
功能轻松创建通知。
当我尝试在Firefox下执行此操作时,它没有任何相同的行为 检查日志中没有关于该功能的错误,也没有任何通知弹出。
以下是一些示例代码,它们在Firefox + Greasemonkey或Firefox + Tampermonkey中不起作用,但在Chrome + Tampermonkey中有效:
// ==UserScript==
// @name Test Notifier
// @include *
// @grant GM_notification
// @grant window.focus
// ==/UserScript==
console.log('I am a pretty test script');
var notificationDetails = {
text: 'THIS IS A TEST NOTIFICATION!!!',
title: 'TEST',
timeout: 15000,
onclick: function() { window.focus(); },
};
GM_notification(notificationDetails);
这是Firefox的标准行为吗?它是否以完全不同的方式处理HTML5通知(如果有的话)?在Firefox用户脚本中启用通知的常见做法是什么?
答案 0 :(得分:11)
GM_notification()
is not (yet) supported in Greasemonkey (Firefox)。如果你有checked the error console,你会看到这个错误:
GM_notification未定义
Greasemonkey有an old feature request to add GM_notification()
个;你可以去那里,并敦促领先的GM开发人员尝试赶上Tampermonkey。 :)
在添加该功能之前,您可以使用许多现代浏览器支持的the HTML5(ish) Notifications API“填充”对GM_notification的支持。
添加垫片的测试脚本如下所示。在Firefox和Chrome上都进行了测试,但 也适用于Safari和Opera:
00 TPerson: [name.first] TPerson2: [name.first]
04 [name.middle] [name.middle]
08 [name.last] [name.last]
12 [sex] [sex]
16 [dob] [dob]
24 [maritalStatus] [maritalStatus]
32 [marriageDate] [w.marriageDate] [m.marriageDate] [d.marriageDate]
40 [divorceDate] [d.divorceDate]
48 [isFirstDivorceDate] [d.isFirstDivorceDate]