tabs.update()
Перейдите к новой вкладке по URL или измените другие свойства вкладки.
Для использования этой функции передайте идентификатор вкладки для обновления и объект updateProperties, содержащий свойства, которые нужно обновить. Свойства, не указанные в updateProperties, не изменяются.
Это асинхронная функция, которая возвращает Promise.
Синтаксис
let updating = browser.tabs.update( tabId, // optional integer updateProperties // object )
Параметры
-
tabIdНеобязательно -
integer. По умолчанию выбрана вкладка текущего окна. updateProperties-
object. Набор свойств для обновления этой вкладки. Более подробную информацию о свойствах см. в документацииtabs.Tab.-
activeНеобязательно -
boolean. Нужно ли сделать вкладку активной. Не влияет на фокусировку окна (см.windows.update). Еслиtrue, выделенные неактивные вкладки перестанут выделяться. Еслиfalse, ничего не происходит. -
autoDiscardableНеобязательно -
boolean. Нужно ли браузеру автоматически отбросить вкладку при низких ресурсах. -
highlightedНеобязательно -
boolean. Добавляет или удаляет вкладку из текущего выделения. Еслиtrueи вкладка не выделена, она по умолчанию станет активной.Если вы хотите только выделить вкладку без активации, Firefox принимает установку
highlightedвtrueиactiveвfalse. Другие браузеры могут активировать вкладку даже в этом случае. -
loadReplaceНеобязательно -
boolean. Нужно ли заменить старый URL в истории навигации вкладки, доступной через кнопку «Назад»?Например, предположим, что пользователь создаёт новую вкладку с помощью Ctrl+T. По умолчанию в Firefox это загрузит «about:newtab». Если ваш расширение затем обновит эту страницу с помощью
tabs.update, безloadReplace, кнопка «Назад» будет активна и вернёт пользователя на «about:newtab». Если расширение установитloadReplace, кнопка «Назад» будет отключена, и это будет так, как будто URL, предоставленный расширением, был первой посещенной страницей в этой вкладке.Обратите внимание, что исходный URL всё равно будет отображаться в глобальной истории браузера.
-
mutedНеобязательно -
boolean. Нужно ли заглушить вкладку. -
openerTabIdНеобязательно -
integer. Идентификатор вкладки, которая открыла эту вкладку. Если указано, открывающая вкладка должна находиться в том же окне, что и эта вкладка. -
pinnedНеобязательно -
boolean. Нужно ли закрепить вкладку. -
selectedУстарело Необязательно -
boolean. Нужно ли выбрать вкладку. Это свойство заменено наactiveиhighlighted. -
successorTabIdНеобязательно -
integer. Идентификатор преемника вкладки. -
urlНеобязательно -
string. URL для перехода в вкладке.По соображениям безопасности в Firefox это может быть не привилегированный URL. Поэтому передача следующих URL приведет к ошибке, при этом
runtime.lastErrorбудет установлено сообщение об ошибке:- URL chrome:
- URL javascript:
- URL data:
- URL file: (например, файлы на файловой системе. Однако для использования файла, упакованного внутри расширения, см. ниже)
- Привилегированные URL about: (например,
about:config,about:addons,about:debugging,about:newtab). Непривилегированные URL (например,about:blank) разрешены.
Для загрузки страницы, упакованной с расширением, укажите абсолютный URL, начиная с файла manifest.json расширения. Например: '/path/to/my-page.html'. Если вы опустите ведущую '/', URL будет рассматриваться как относительный URL, и разные браузеры могут создавать разные абсолютные URL.
-
Возвращаемое значение
A Promise, который будет выполнен с объектом tabs.Tab, содержащим подробности об обновленной вкладке. Объект tabs.Tab не содержит url, title и favIconUrl, если не соответствуют разрешения для хоста или не запрошено разрешение "tabs". Если вкладка не найдена или произошла другая ошибка, promise будет отклонен с сообщением об ошибке.
Примеры
Перейдите к активной вкладке в текущем окне по адресу https://developer.mozilla.org:
function onUpdated(tab) { console.log(`Updated tab: ${tab.id}`); } function onError(error) { console.log(`Error: ${error}`); } let updating = browser.tabs.update({url: "https://developer.mozilla.org"}); updating.then(onUpdated, onError);
Активируйте первую вкладку в текущем окне и перейдите к https://developer.mozilla.org:
function onUpdated(tab) { console.log(`Updated tab: ${tab.id}`); } function onError(error) { console.log(`Error: ${error}`); } function updateFirstTab(tabs) { let updating = browser.tabs.update(tabs[0].id, { active: true, url: "https://developer.mozilla.org" }); updating.then(onUpdated, onError); } let querying = browser.tabs.query({currentWindow:true}); querying.then(updateFirstTab, onError);
Примеры расширений
Совместимость с браузерами
| Рабочий стол | Мобильный | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | |
update |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 54 | ? | 15 | ? |
active_value |
Да | 14 | 45 | ? | Да | 14 | ? | ? | 54 | ? | 15 | ? |
autoDiscardable_value |
54 | 79 | Нет | ? | 41 | Нет | ? | ? | Нет | ? | Нет | ? |
highlighted_value |
Да | 79 | 63 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
loadReplace_value |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | Нет | ? | Нет | ? |
muted_value |
45 | 79 | 45 | ? | 32 | 14 | ? | ? | Нет | ? | Нет | ? |
openerTabId_value |
18 | 79 | 57 | ? | 15 | 14 | ? | ? | Нет | ? | 15 | ? |
pinned_value |
Да | 79 | 45 | ? | Да | 14 | ? | ? | 54–79 | ? | Нет | ? |
selected_value |
Да | 79 | Нет | ? | Да | 14 | ? | ? | Нет | ? | 15 | ? |
url_value |
Да | 14 | 45 | ? | Да | 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/update