跳到主要内容

windows 浏览器窗口

官方文档

在浏览器中创建、修改和重新排列窗口

权限

{
"permissions": [
"tabs"
]
}

属性

  • chrome.windows.WINDOW_ID_NONE:无效的窗口ID
  • chrome.windows.WINDOW_ID_CURRENT:当前窗口ID

方法

create() 创建窗口

type WindowType = 'normal' | 'popup';
type WindowState = 'normal' | 'minimized' | 'maximized' | 'fullscreen' | 'docked';
type CreateData = {
url?: string;
// 要添加到新窗口的选项卡的 ID
tabId?: number;
left?: number;
top?: number;
width?: number;
height?: number;
focused?: boolean;
// 是否应为隐身窗口
incognito?: boolean;
// 浏览器窗口类型
type?: WindowType;
// 窗口的初始状态
state?: WindowState;
}
type Window = CreateData && {
// 窗口是否设置为始终位于顶部
alwaysOnTop?: boolean;
id?: number;
sessionId?: string;
// 表示窗口中当前选项卡的 tabs.Tab 对象数组
tabs: Tab[];
};
chrome.windows.create(
createData: CreateData,
callback?: (window: Window) => void
): void

get() 获取窗口

type QueryOptions = {
// 如果为 true,则该 windows.Window 对象具有一个 tabs 包含对象列表的 tabs.Tab 属性
populate?: boolean;
windowTypes?: WindowType[];
}
chrome.windows.get(
windowId: number,
queryOptions?: QueryOptions,
callback?: (window: Window) => void
)

getAll() 获取所有窗口

chrome.windows.getAll(
queryOptions?: QueryOptions,
callback?: (window: Window) => void
)

getCurrent() 获取当前窗口

chrome.windows.getCurrent(
queryOptions?: QueryOptions,
callback?: (window: Window) => void
)

getLastFocused() 获取最后聚焦的窗口

chrome.windows.getLastFocused(
queryOptions?: QueryOptions,
callback?: (window: Window) => void
)

update() 更新窗口

type UpdateInfo = {
// 如果 true ,则以将用户的注意力吸引到窗口的方式显示窗口,而不更改焦点窗口
drawAttention?: boolean;
left?: number;
top?: number;
width?: number;
height?: number;
focused?: boolean;
// 窗口的初始状态
state?: WindowState;
}
chrome.windows.update(
windowId: number,
updateInfo: UpdateInfo,
callback?: (window: Window) => void
)

remove() 移除窗口

chrome.windows.remove(
windowId: number,
callback?: (window: Window) => void
)

事件

onCreated 窗口创建事件

chrome.windows.onCreated.addListener(
callback: (window: Window) => void
)

onRemoved 窗口移除事件

chrome.windows.onRemoved.addListener(
callback: (windowId: number) => void
)

onFocusChanged 窗口焦点变化事件

chrome.windows.onFocusChanged.addListener(
callback: (windowId: number) => void
)

onBoundsChanged 窗口大小变化事件

chrome.windows.onBoundsChanged.addListener(
callback: (windowId: number) => void
)