當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript webextension-polyfill-ts.browser.windows類代碼示例

本文整理匯總了TypeScript中webextension-polyfill-ts.browser.windows的典型用法代碼示例。如果您正苦於以下問題:TypeScript browser.windows類的具體用法?TypeScript browser.windows怎麽用?TypeScript browser.windows使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了browser.windows類的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: 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

示例2:

		w.tabs.forEach((t: browser.tabs.Tab): void => {
			const width: number = Math.floor(Math.random() * (screen.width * 0.75) + 1);
			const height: number = Math.floor(Math.random() * (screen.height * 0.75) + 1);
			const left: number = Math.floor(Math.random() * (screen.width - width) + 1);
			const top: number = Math.floor(Math.random() * (screen.height - height) + 1);

			browser.windows.create({
				tabId: t.id,
				width,
				height,
				left,
				top,
			}).catch((e: Error): void => {
				logging.error(e.message);
			});
		});
開發者ID:dqgorelick,項目名稱:tabbo,代碼行數:16,代碼來源:functionality.ts


注:本文中的webextension-polyfill-ts.browser.windows類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。