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

js
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:

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

Sehen Sie diesen Blogpost für weitere Details.

Browser-Kompatibilität

BCD tables only load in the browser