当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript browser.tabs.move方法代码示例

本文整理汇总了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);
				});
			});
开发者ID:dqgorelick,项目名称:tabbo,代码行数:8,代码来源:functionality.ts

示例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);
	}
};
开发者ID:dqgorelick,项目名称:tabbo,代码行数:57,代码来源:functionality.ts

示例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 });
}
开发者ID:ChaosinaCan,项目名称:ClassicTabs,代码行数:19,代码来源:TabManager.ts

示例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);
    }
}
开发者ID:ChaosinaCan,项目名称:ClassicTabs,代码行数:19,代码来源:TabManager.ts


注:本文中的webextension-polyfill-ts.browser.tabs.move方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。