tabs.move()
Перемещает одну или несколько вкладок в новое положение в том же окне или в другое окно.
Вы можете перемещать вкладки только в и из окон, WindowType которых "normal".
Это асинхронная функция, которая возвращает Promise.
Синтаксис
let moving = browser.tabs.move( tabIds, // integer or integer array moveProperties // object )
Параметры
tabIds-
integerилиarrayinteger. Идентификатор перемещаемойtab, или массив идентификаторов вкладок. moveProperties-
object. Объект, определяющий, куда переместить вкладку(и).-
windowIdНеобязательно -
integer. Идентификатор окна, в которое нужно переместить вкладку(и). Если вы опустите этот параметр, то каждая вкладка вtabIdsбудет перемещена вindexв её текущем окне. Если вы укажете этот параметр, аtabIdsсодержит более одной вкладки, то первая вкладка вtabIdsбудет перемещена вindex, а остальные вкладки последуют за ней в порядке, заданном вtabIds. index-
integer. Позиция индекса, в которую нужно переместить вкладку, начиная с 0. Значение -1 поместит вкладку в конец окна.Если вы передадите значение меньше -1, функция вызовет ошибку.
Обратите внимание, что закреплённые вкладки нельзя переместить в позицию после любых незакреплённых вкладок в окне, или любые незакреплённые вкладки нельзя переместить в позицию перед закреплёнными вкладками. Например, если в целевом окне есть одна или несколько закреплённых вкладок, и
tabIdsотносится к незакреплённой вкладке, то вы не можете передать здесь 0. Если вы попытаетесь сделать это, функция тихо завершится (она не вызовет ошибку).
-
Возвращаемое значение
A Promise, который будет выполнен с объектом или массивом tabs.Tabarray объектов , содержащим сведения о перемещённых вкладках. Если вкладки не были перемещены (например, из-за попытки перемещения незакреплённой вкладки перед закреплённой), это будет пустой массив. При возникновении любой ошибки обещание будет отклонено с сообщением об ошибке.tabs.Tab
Примеры
Переместить первую вкладку в текущем окне в последнее положение в текущем окне:
function onMoved(tab) { console.log(`Moved: ${tab}`); } function onError(error) { console.log(`Error: ${error}`); } function firstToLast(windowInfo) { if (windowInfo.tabs.length === 0) { return; } let moving = browser.tabs.move(windowInfo.tabs[0].id, {index: -1}); moving.then(onMoved, onError); } browser.browserAction.onClicked.addListener(() => { let gettingCurrent = browser.windows.getCurrent({populate: true}); gettingCurrent.then(firstToLast, onError); });
Переместить все вкладки, загруженные по протоколу HTTP или HTTPS с *.mozilla.org в конец их окна:
function onMoved(tab) { console.log(`Moved: ${tab}`); } function onError(error) { console.log(`Error: ${error}`); } function moveMoz(tabs) { let mozTabIds = tabs.map((tabInfo) => tabInfo.id); let moving = browser.tabs.move(mozTabIds, {index: -1}); moving.then(onMoved, onError); } browser.browserAction.onClicked.addListener(() => { let gettingMozTabs = browser.tabs.query({url:"*://*.mozilla.org/*"}); gettingMozTabs.then(moveMoz, onError); });
Переместить все вкладки, загруженные по протоколу HTTP или HTTPS с *.mozilla.org в окно, содержащее первую такую вкладку, начиная с позиции 0:
function onMoved(tab) { console.log(`Moved: ${tab}`); } function onError(error) { console.log(`Error: ${error}`); } function moveMoz(tabs) { let mozTabIds = tabs.map((tabInfo) => tabInfo.id); let targetWindow = tabs[0].windowId; let moving = browser.tabs.move(mozTabIds, {windowId: targetWindow, index: 0}); moving.then(onMoved, onError); } browser.browserAction.onClicked.addListener(() => { let gettingMozTabs = browser.tabs.query({url:"*://*.mozilla.org/*"}); gettingMozTabs.then(moveMoz, onError); });
Примеры расширений
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | |
move |
Да | 79 | 46 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
Примечание: Этот 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/move