use*_*648 6 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));
Run Code Online (Sandbox Code Playgroud)
我需要改变什么?
每对GM_notification文档,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 /sf/ask/3623844101/*
// @grant GM_notification
// @require http://code.jquery.com/jquery-1.12.4.min.js
// ==/UserScript==
GM_notification ( {title: 'foo', text: '42'} );
Run Code Online (Sandbox Code Playgroud)
使用有效图像:
GM_notification ( {
title: 'foo', text: '42', image: 'https://i.stack.imgur.com/geLPT.png'
} );
Run Code Online (Sandbox Code Playgroud)
有一个有用的onclick:
GM_notification ( {
title: 'foo', text: '42', image: 'https://i.stack.imgur.com/geLPT.png',
onclick: () => {
console.log ("My notice was clicked.");
window.focus ();
}
} );
Run Code Online (Sandbox Code Playgroud)