2017-03-15 4 views
2

Mit Tampermonkey gibt es eine Möglichkeit, eine Rechtsklick-Menüoption in Chrome zu erstellen?Tampermonkey - Rechtsklickmenü

Ich fand GM_registerMenuCommand, aber es scheint keine neuen Elemente im Kontextmenü zu zeigen.

Ein anderes Problem ist, dass ich GM_openInTab im Testskript verwende, aber es scheint, aus irgendeinem Grund unendlich zu schlingen. Es sollte nur ausgelöst werden, nachdem das Menü angeklickt wurde, warum würde das passieren?

Auch ich frage mich, gibt es eine Möglichkeit, dies auf eine erweiterte Art und Weise mit benutzerdefinierten Rechtsklick-Icons usw. zu tun?

Es gab ein GM-Skript für Firefox, das für Menüs funktionierte, aber in Chrome scheint nichts zu zeigen, also wäre es gut, eine Möglichkeit zu haben, das funktioniert zu haben.

// ==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"); 

})(); 
+1

Verwenden Sie [@ run-at context-menu] (https://forum.tampermonkey.net/viewtopic.php?t=1170) – wOxxOm

+0

@wOxxOm Haben Sie ein einfaches Beispiel dafür, wie das funktionieren würde? Dieser Thread scheint jemand zu sein, der ein Feature anfordert. – zeddex

+0

Ich habe es nicht selbst versucht, aber ich kann Ihnen eines sagen: Das Feature ist implementiert. – wOxxOm

Antwort

1

Per wOxxOm Kommentar ist es möglich, @run-at context-menu verwenden.

Beispiel:

// ==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"); 
})(); 

Ergebnis: (funktioniert gut :)

Userscript shown at context menu

+0

Nice one; Ich hatte von '@ run-at context-menu' nichts gewusst. (Täuschend mit Greasemonkey als meine primäre Maschine (vor GM 4)) –

+0

Ja, ich auch, lernte aus dem Kommentar und ging zu überprüfen. Sehr praktisch für Einzelaktionen :) – brasofilo

1

Statt GM_registerMenuCommand("hello", test(), "h") sollten Sie GM_registerMenuCommand("hello", test, "h")

Die erste Version ruft die test Funktion sofort auf und übergibt dann ihr Ergebnis an GM_registerMenuCommand Funktion. Die zweite übergibt die Funktion selbst anstelle ihres Ergebnisses.

Verwandte Themen