menus.overrideContext()
Verstecken Sie alle standardmäßigen Firefox-Menüelemente zugunsten einer benutzerdefinierten Kontextmenü-Oberfläche.
Die Methode overrideContext
bewirkt, dass anstelle des Standardmenüs die passenden Menüelemente dieser Erweiterung angezeigt werden. Diese Methode sollte von einem contextmenu
DOM-Event-Handler aufgerufen werden und gilt nur für das Menü, das nach diesem Ereignis geöffnet wird.
Diese Schnittstelle erfordert die Berechtigung menus.overrideContext
Berechtigung.
Syntax
browser.menus.overrideContext(
contextOptions // object
)
Parameter
contextOptions
-
object
. Optionen, wie die Kontextmenüs überschrieben werden sollen.showDefaults
Optional-
boolean
. Gibt an, ob die Standardmenüelemente ebenfalls im Menü enthalten sein sollen. context
Optional-
string
. Kontexttyp, der überschrieben werden soll, um Menüelemente aus anderen Erweiterungen im Menü zuzulassen. Derzeit werden nur'bookmark'
und'tab'
unterstützt.showDefaults
kann nicht mit dieser Option verwendet werden. bookmarkId
Optional-
string
. Erforderlich, wenn der Kontext'bookmark'
ist. Erfordert die 'bookmark'-Berechtigung. tabId
Optional-
integer
. Erforderlich, wenn der Kontext'tab'
ist. Erfordert die 'tabs'-Berechtigung.
Beispiele
Öffnen Sie das Tab-Kontextmenü in Ihrer benutzerdefinierten Benutzeroberfläche, in diesem Fall:
document.addEventListener(
"contextmenu",
(event) => {
const foo = event.target.closest(".foo");
if (foo) {
// When the context menu is opened on an element with the foo class
// set the context to "opening a tab context menu".
browser.menus.overrideContext({
context: "tab",
tabId: parseInt(foo.dataset.tabId),
});
}
},
{ capture: true },
);
Sehen Sie diesen Blogpost für weitere Details.
Browser-Kompatibilität
BCD tables only load in the browser