Tampermonkey - Right click menu

zeddex picture zeddex · Mar 15, 2017 · Viewed 8.1k times · Source

With Tampermonkey is there any way to create a right click menu option in Chrome?

I found GM_registerMenuCommand but it does not seem to show any new items in the right click menu.

Another problem is I use GM_openInTab in the test script but it seems to loop infinitely for some reason. It should only trigger after the menu is clicked, why would this happen?

Also I am wondering is there a way to do this in a more advanced way with custom right click icons etc?

There was a GM script for Firefox that worked for menus but in Chrome nothing seems to show so it would be good to have a way to have this working.

// ==UserScript==
// @name            Context Menu
// @namespace       http://tampermonkey.net/
// @description     Test
// @version         0.1
// @author          author
// @include         *
// @exclude         file://*
// @grant           GM_openInTab
// @grant           GM_registerMenuCommand
// ==/UserScript==]


(function() {
    'use strict';

function test() {
    GM_openInTab("https://website.net");
}

GM_registerMenuCommand("hello", test(), "h");

})();

Answer

brasofilo picture brasofilo · Nov 21, 2017

As per wOxxOm comment, it is possible using @run-at context-menu.

Example:

// ==UserScript==
// @name            Go to Website.Net
// @namespace       http://tampermonkey.net/
// @description     Context menu to execute UserScript
// @version         0.1
// @author          author
// @include         *
// @grant           GM_openInTab
// @run-at          context-menu
// ==/UserScript==]


(function() {
    'use strict';
    GM_openInTab("https://website.net");
})();

Result: (works nicely :)

Userscript shown at context menu