Chrome Tampermonkey 未显示通知

Chrome notification not showing with Tampermonkey

我试图让我的 Tampermonkey 脚本显示 Chrome 通知,但没有显示任何通知。我已允许网站上的通知。

这是我的代码:

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        somewebsite.com/*
// @grant        GM_notification
// @require      http://code.jquery.com/jquery-1.12.4.min.js
// ==/UserScript==

(function ($, undefined) {
    $(function () {
        GM_notification({title: 'foo', image: 'bar', text: '42', onclick: console.log});
    });
})(window.jQuery.noConflict(true));

我需要更改什么?

根据 the GM_notification documentation,GM_notification 的 image 参数需要图像。
'bar' 不是图像,因此 GM_notification 调用失败(静默)。

当然,如果有错误消息就好了,但目前 Tampermonkey 不提供错误消息。 (请随时提交错误报告。)

还有:

  • 那些 (function 换行是完全没有必要的,只是 clutter/complication。
  • 同上 window.jQuery.noConflict -- 当 @grant none 无效时。
  • 没有参数传递给 onclick 回调,因此给它 console.log 没有任何效果。


这是一个完整的工作脚本,上面的错误已更正:

// ==UserScript==
// @name        _Notification test
// @match       *://YOUR_SERVER.COM/YOUR_PATH/*
// @match       
// @grant       GM_notification
// @require     http://code.jquery.com/jquery-1.12.4.min.js
// ==/UserScript==

GM_notification ( {title: 'foo', text: '42'} );


使用有效图像:

GM_notification ( {
    title: 'foo', text: '42', image: 'https://i.stack.imgur.com/geLPT.png'
} );


用一个有用的 onclick:

GM_notification ( {
    title: 'foo', text: '42', image: 'https://i.stack.imgur.com/geLPT.png',
    onclick: () => {
            console.log ("My notice was clicked.");
            window.focus ();
    }
} );