本文整理匯總了TypeScript中webextension-polyfill-ts.browser.tabs.move方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript browser.tabs.move方法的具體用法?TypeScript browser.tabs.move怎麽用?TypeScript browser.tabs.move使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類webextension-polyfill-ts.browser.tabs
的用法示例。
在下文中一共展示了browser.tabs.move方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1:
w.tabs.forEach((t: browser.tabs.Tab): void => {
browser.tabs.move(
t.id,
{windowId: firstWindowId, index: -1},
).catch((e: Error): void => {
logging.error(e.message);
});
});
示例2: async
export const pushTab = async (): Promise<void> => {
const windows: browser.windows.Window[] = await browser.windows.getAll({populate: true});
// Just in case number of windows goes below 1
if (windows.length <= 1) {
return;
} else if (windows.length === 2) {
const tab: browser.tabs.Tab = await utils.tabs.getCurrent();
const otherWindow: browser.windows.Window[] = windows.filter(
(w: browser.windows.Window): boolean => w.id !== tab.windowId
);
browser.tabs.move(tab.id, {windowId: otherWindow[0].id, index: -1}).catch(
(e: Error): void => {
logging.error(e.message);
}
);
browser.windows.update(otherWindow[0].id, {focused: true}).catch(
(e: Error): void => {
logging.error(e.message);
}
);
browser.tabs.update(tab.id, {selected: true, pinned: tab.pinned}).catch(
(e: Error): void => {
logging.error(e.message);
}
);
} else {
const tab: browser.tabs.Tab = await utils.tabs.getCurrent();
const newTab: browser.tabs.Tab = await browser.tabs.create(
{
url : `../tabbo.html#${tab.id}`
}
);
const onTabChange: tabbo.TabsOnActivatedCallback = async (e: tabbo.TabsOnActivatedEvent) => {
if (e.tabId !== newTab.id) {
browser.tabs.onActivated.removeListener(onTabChange);
browser.tabs.get(newTab.id).catch((e: Error): void => {
logging.error(e.message);
});
if (!browser.runtime.lastError) {
browser.tabs.remove(newTab.id).catch((e: Error): void => {
logging.error(e.message);
});
}
}
};
browser.tabs.onActivated.addListener(onTabChange);
}
};
示例3: moveToEnd
async function moveToEnd(tab: Tabs.Tab, windowId?: number) {
if (tab.id === undefined) {
console.warn('Cannot move tab with no ID:', tab);
return;
}
if (windowId === undefined) {
windowId = tab.windowId;
if (windowId === undefined) {
console.warn('Cannot move to end with no window:', tab);
return;
}
}
logger.enabled && logger.log(`moving tab ${tab.id} to end`);
await browser.tabs.move(tab.id, { index: -1, windowId });
}
示例4: moveNextToTab
async function moveNextToTab(tab: Tabs.Tab, neighbor: Tabs.Tab | number) {
if (tab.id === undefined) {
console.warn('Cannot move tab with no ID:', tab);
return;
}
const pos = await getNextTabPosition(neighbor);
if (pos.windowId === undefined) {
console.warn('Cannot move next to tab with no window:', neighbor);
return;
}
if (tab.index !== pos.index || tab.windowId !== pos.windowId) {
logger.enabled && logger.log(`moving tab ${tab.id} to position ${pos.index}`);
await browser.tabs.move(tab.id, pos);
}
}