windows 浏览器窗口
在浏览器中创建、修改和重新排列窗口
权限
{
"permissions": [
"tabs"
]
}
属性
chrome.windows.WINDOW_ID_NONE
:无效的窗口IDchrome.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
)