tabs.create()
Создаёт новую вкладку.
Это асинхронная функция, которая возвращает Promise.
Синтаксис
let creating = browser.tabs.create( createProperties // object )
Параметры
createProperties-
object. Свойства новой вкладки. Чтобы узнать больше о свойствах, обратитесь к документацииtabs.Tab.-
activeНеобязательно -
boolean. Станет ли вкладка активной во всплывающем окне. Еслиfalse, это не окажет влияния. Не влияет на фокусировку окна (см.windows.update). По умолчаниюtrue. -
string. Используется для создания вкладки с идентификатором хранилища cookiescookieStoreId. Этот параметр доступен только если у расширения есть разрешение"cookies"разрешение. -
discardedНеобязательно -
boolean. Создаёт и делает вкладку видимой в строке вкладок без загрузки содержимого в память, состояние, известное как «отброшенная». Содержимое вкладки загружается при её активации. -
indexНеобязательно -
integer. Позиция вкладки в окне. Указанное значение будет ограничено от 0 до количества вкладок в окне. -
mutedНеобязательно -
boolean. Будет ли вкладка немым. По умолчаниюfalse. -
openerTabIdНеобязательно -
integer. Идентификатор вкладки, которая открыла эту вкладку. Если указано, открывающая вкладка должна находиться в том же окне, что и новая вкладка. -
openInReaderModeНеобязательно -
boolean. Еслиtrue, открыть эту вкладку в режиме чтения. По умолчаниюfalse. -
pinnedНеобязательно -
boolean. Будет ли вкладка закреплённой. По умолчаниюfalse. -
selectedНеобязательно -
boolean. Будет ли вкладка выделенной во всплывающем окне. По умолчаниюtrue.Предупреждение: Это свойство устарело и не поддерживается в Firefox. Используйте
activeвместо него. -
titleНеобязательно -
string. Заголовок вкладки. Разрешено только, если вкладка создана сdiscardedустановленным наtrue. -
urlНеобязательно -
string. URL для начальной навигации вкладки. По умолчанию — новая вкладка.Полные URL-адреса должны содержать схему (например, 'http://www.google.com' а не 'www.google.com').
По соображениям безопасности в Firefox это может быть не привилегированный URL. Следовательно, ввод следующих URL-адресов завершится ошибкой:
- URL-адреса chrome:
- URL-адреса javascript:
- URL-адреса data:
- URL-адреса file: (т.е., файлы на файловой системе. Однако для использования файла, упакованного в расширение, см. ниже)
- Привилегированные URL-адреса about: (например,
about:config,about:addons,about:debugging). Непривилегированные URL-адреса (например,about:blank) разрешены. - Новая вкладка (
about:newtab) может быть открыта, если значение URL не указано.
Чтобы загрузить страницу, входящую в состав вашего расширения, укажите абсолютный URL, начиная с файла manifest.json расширения. Например: '/path/to/my-page.html'. Если вы опустите ведущий "/", URL обрабатывается как относительный URL, и различные браузеры могут создавать разные абсолютные URL.
-
windowIdНеобязательно -
integer. Окно, в котором создать новую вкладку. По умолчанию — текущее окно.
-
Возвращаемое значение
A Promise, которое будет выполнено с объектом tabs.Tab, содержащим подробности о созданной вкладке. Если вкладка не может быть создана (например, потому что url использовал привилегированную схему), promise отклонится с сообщением об ошибке.
Возвращаемый promise browser.tabs.create() разрешается, как только вкладка будет создана. Вкладка может всё ещё загружаться. Чтобы определить, когда загрузка вкладки завершится, прослушайте событие tabs.onUpdated или webNavigation.onCompleted, прежде чем вызывать tabs.create.
Примеры
Открыть "https://example.org" в новой вкладке:
function onCreated(tab) { console.log(`Created new tab: ${tab.id}`) } function onError(error) { console.log(`Error: ${error}`); } browser.browserAction.onClicked.addListener(() => { let creating = browser.tabs.create({ url:"https://example.org" }); creating.then(onCreated, onError); });
Примеры расширений
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | |
create |
5 | 14 | 45 | ? | 15 | 14 | ? | ? | 54 | ? | 15 | ? |
Примечание: Этот API основан на API chrome.tabs Chromium. Данная документация взята из tabs.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/tabs/create