menus.overrideContext()

Verstecken Sie alle standardmäßigen Firefox-Menüeinträge zugunsten einer benutzerdefinierten Kontextmenü-Oberfläche.

Die Methode overrideContext sorgt dafür, dass die übereinstimmenden Menüeinträge dieser Erweiterung anstelle des Standardmenüs angezeigt werden. Diese Methode sollte von einem contextmenu DOM-Event-Handler aufgerufen werden und gilt nur für das Menü, das nach diesem Event geöffnet wird.

Diese Schnittstelle erfordert die menus.overrideContext Berechtigung.

Syntax

js
browser.menus.overrideContext(
  contextOptions // object
)

Parameter

contextOptions

object. Optionen dafür, wie die Kontextmenüs überschrieben werden.

showDefaults Optional

boolean. Ob standardmäßige Menüeinträge ebenfalls im Menü enthalten sein sollen.

context Optional

string. Zu überschreibender ContextType, um Menüeinträge von 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ü auf Ihrer benutzerdefinierten Oberfläche, in diesem Fall:

js
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, 10),
      });
    }
  },
  { capture: true },
);

Weitere Details finden Sie in diesem Blogbeitrag.

Browser-Kompatibilität