browserAction.setPopup()
Устанавливает HTML-документ, который будет открыт в виде всплывающего окна при нажатии пользователем на значок действия браузера. Вкладки без определённого всплывающего окна будут наследоваться от глобального всплывающего окна, которое по умолчанию соответствует default_popup, указанному в манифесте.
Синтаксис
browser.browserAction.setPopup( details // object )
Параметры
details-
Объект со следующими свойствами:
-
tabIdНеобязательно -
integer. Устанавливает всплывающее окно только для определённой вкладки. Всплывающее окно сбрасывается, когда пользователь переходит в этой вкладке на новую страницу. -
windowIdНеобязательно -
integer. Устанавливает всплывающее окно только для указанного окна. popup-
stringилиnull. HTML-файл для отображения во всплывающем окне, указанный в виде URL.Он может указывать на файл, упакованный в расширение (например, созданный с помощью
extension.getURL), или на удалённый документ (например,https://example.org/).Если здесь передана пустая строка (
""), всплывающее окно будет отключено, и расширение получит событияbrowserAction.onClicked.Если
popupравноnull:- Если
tabIdуказан, удаляет всплывающее окно, специфичное для вкладки, так что вкладка унаследует глобальное всплывающее окно. - Если
windowIdуказан, удаляет всплывающее окно, специфичное для окна, так что окно унаследует глобальное всплывающее окно. - Если
tabIdиwindowIdоба опущены, глобальное всплывающее окно восстанавливается до значения по умолчанию.
- Если
-
- Если
windowIdиtabIdоба указаны, функция завершается неудачей, и всплывающее окно не устанавливается. - Если
windowIdиtabIdоба опущены, устанавливается глобальное всплывающее окно.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | |
setPopup |
Да | 14 | 4545–58Всплывающее окно, специфичное для вкладки, не очищается при загрузке новой страницы. |
? | Да | 14 | ? | ? | 5757–58Всплывающее окно, специфичное для вкладки, не очищается при загрузке новой страницы. |
? | 15 | ? |
details_windowId_parameter |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 79 | ? | Нет | ? |
null |
Нет | Нет | 59 | ? | Нет | 14 | ? | ? | 79 | ? | 15 | ? |
Примеры
Данный код добавляет пару элементов контекстного меню, которые можно использовать для переключения между двумя всплывающими окнами. Обратите внимание, что для создания элементов контекстного меню необходимо установить разрешение «contextMenus» разрешение в манифесте расширения.
function onCreated() { if (browser.runtime.lastError) { console.log("error creating item:", browser.runtime.lastError); } else { console.log("item created successfully"); } } browser.contextMenus.create( { id: "popup-1", type: "radio", title: "Popup 1", contexts: ["all"], checked: true, }, onCreated ); browser.contextMenus.create( { id: "popup-2", type: "radio", title: "Popup 2", contexts: ["all"], checked: false, }, onCreated ); browser.contextMenus.onClicked.addListener((info, tab) => { if (info.menuItemId === "popup-1") { browser.browserAction.setPopup({ popup: "/popup/popup1.html" }); } else if (info.menuItemId === "popup-2") { browser.browserAction.setPopup({ popup: "/popup/popup2.html" }); } });
Примечание: Этот API основан на API chrome.browserAction Chromium. Данная документация взята из browser_action.json кода Chromium.
© 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/browserAction/setPopup