menus.overrideContext()
Скрыть все стандартные пункты меню Firefox в пользу настраиваемого пользовательского контекстного меню.
Метод overrideContext приведет к отображению соответствующих пунктов меню из этого расширения вместо стандартного меню. Этот метод должен вызываться из обработчика события DOM contextmenu, и применяется только к меню, открывающемуся после этого события.
Этот интерфейс требует разрешения menus.overrideContext разрешения.
Синтаксис
browser.menus.overrideContext( contextOptions // object )
Параметры
contextOptions-
object. Параметры для переопределения контекстных меню.-
showDefaultsНеобязательно -
boolean. Включать ли также стандартные пункты меню. -
contextНеобязательно -
string. Тип контекста для переопределения, чтобы включить пункты меню из других расширений. В настоящее время поддерживаются только'bookmark'и'tab'.showDefaultsнельзя использовать с этим параметром. -
bookmarkIdНеобязательно -
string. Требуется, когда context равен'bookmark'. Требуется разрешение 'bookmark'. -
tabIdНеобязательно -
integer. Требуется, когда context равен'tab'. Требуется разрешение 'tabs'.
-
Примеры
Открыть контекстное меню вкладки на вашем пользовательском интерфейсе, в данном случае:
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 } );
Подробнее см. данную запись в блоге.
Совместимость с браузерами
| Рабочий стол | Мобильная версия | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | |
overrideContext |
Нет | Нет | 64 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/menus/overrideContext