Chrome通知未显示与Tampermonkey

时间:2018-08-09 14:08:54

标签: javascript google-chrome 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));

我需要更改什么?

1 个答案:

答案 0 :(得分:2)

对于每个the GM_notification documentation,GM_notification的image参数需要一张图片。
'bar'不是图像,因此GM_notification调用失败(无提示)。

当然,如果有错误消息会很高兴,但是目前Tampermonkey不提供错误消息。 (随时提交错误报告。)

也:

  • 完全不需要那些(function换行,而只是混乱/复杂。
  • 同上window.jQuery.noConflict-@grant none无效时。
  • 没有参数传递给onclick回调,因此给它console.log无效。


这是完整的工作脚本,已纠正了上述错误:

// ==UserScript==
// @name        _Notification test
// @match       *://YOUR_SERVER.COM/YOUR_PATH/*
// @match       https://stackoverflow.com/questions/51769201/*
// @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 ();
    }
} );