chrome.windows
描述: |
使用 chrome.windows API 与浏览器窗口交互。您可以使用该模块创建、修改和重新排列浏览器中的窗口。
|
可用版本: |
从 Chrome 5 开始稳定支持。
|
Permissions: |
chrome.windows API 不需要任何权限就能使用。然而,
Tab 的
url 、title 和
favIconUrl
属性需要有 "tabs" 权限后才会给出。
|
类型
Window
-
id
(
optional
integer
)
-
窗口标识符,窗口标识符在浏览器会话中唯一。在某些情况下,例如当您使用 sessions API 查询窗口时,窗口可能没有标识符,此时存在会话标识符。
-
focused
(
boolean
)
-
是否为当前具有焦点的窗口。
-
top
(
optional
integer
)
-
窗口与屏幕顶部的距离,以像素为单位。在某些情况下,例如当您使用 sessions API 查询关闭的窗口时,窗口可能没有 top 属性。
-
left
(
optional
integer
)
-
窗口与屏幕左侧的距离,以像素为单位。在某些情况下,例如当您使用 sessions API 查询关闭的窗口时,窗口可能没有 left 属性。
-
width
(
optional
integer
)
-
窗口的宽度(包含边框),以像素为单位。在某些情况下,例如当您使用 sessions API 查询关闭的窗口时,窗口可能没有 width 属性。
-
height
(
optional
integer
)
-
窗口的高度(包含边框),以像素为单位。在某些情况下,例如当您使用 sessions API 查询关闭的窗口时,窗口可能没有 height 属性。
-
incognito
(
boolean
)
-
是否为隐身窗口。
-
type
(
optional
enum of "normal"
, "popup"
, "panel"
, or "app"
)
-
浏览器窗口的类型。在某些情况下,例如当您使用 sessions 查询关闭的窗口时,窗口可能没有 type 属性。
-
state
(
optional
enum of "normal"
, "minimized"
, "maximized"
, or "fullscreen"
)
-
浏览器窗口的状态。在某些情况下,例如当您使用 sessions 查询关闭的窗口时,窗口可能没有 state 属性。
-
alwaysOnTop
(
boolean
)
-
窗口是否设置为前端显示。
-
sessionId
(
optional
string
)
-
会话标识符,用于唯一标识由 sessions API 获取的窗口。
属性
WINDOW_ID_NONE
chrome.windows.WINDOW_ID_NONE
WINDOW_ID_NONE ( -1
)
表示不存在Chrome浏览器窗口的windowId值。
WINDOW_ID_CURRENT
chrome.windows.WINDOW_ID_CURRENT
WINDOW_ID_CURRENT ( -2
)
代表当前窗口的windowId值。
方法
get
chrome.windows.get(integer windowId, object getInfo, function callback)
获取一个窗口的有关详情。
参数
-
getInfo
(
optional
object
)
-
-
属性
-
populate
(
optional
boolean
)
-
如果为 true,Window 对象会有 tabs 属性,包含所有 tabs.Tab 对象的列表。只有当扩展程序清单文件中包含
"tabs"
权限时,Tab
对象才会包含 url
、title
和 favIconUrl
属性。
callback 参数应该指定一个如下形式的函数:
function(Window window) {...};
getCurrent
chrome.windows.getCurrent(object getInfo, function callback)
获取当前窗口。
参数
-
getInfo
(
optional
object
)
-
-
属性
-
populate
(
optional
boolean
)
-
如果为 true,Window 对象会有 tabs 属性,包含所有 tabs.Tab 对象的列表。只有当扩展程序清单文件中包含
"tabs"
权限时,Tab
对象才会包含 url
、title
和 favIconUrl
属性。
callback 参数应该指定一个如下形式的函数:
function(Window window) {...};
getLastFocused
chrome.windows.getLastFocused(object getInfo, function callback)
获得最近获得焦点的窗口,通常为顶层窗口。
参数
-
getInfo
(
optional
object
)
-
-
属性
-
populate
(
optional
boolean
)
-
如果为 true,Window 对象会有 tabs 属性,包含所有 tabs.Tab 对象的列表。只有当扩展程序清单文件中包含
"tabs"
权限时,Tab
对象才会包含 url
、title
和 favIconUrl
属性。
callback 参数应该指定一个如下形式的函数:
function(Window window) {...};
getAll
chrome.windows.getAll(object getInfo, function callback)
获取所有窗口。
参数
-
getInfo
(
optional
object
)
-
-
属性
-
populate
(
optional
boolean
)
-
如果为 true,Window 对象会有 tabs 属性,包含所有 tabs.Tab 对象的列表。只有当扩展程序清单文件中包含
"tabs"
权限时,Tab
对象才会包含 url
、title
和 favIconUrl
属性。
callback 参数应该指定一个如下形式的函数:
function(array of Window windows) {...};
create
chrome.windows.create(object createData, function callback)
创建(打开)一个新的浏览器窗口,可以提供大小、位置或默认 URL 等可选参数。
参数
-
createData
(
optional
object
)
-
-
属性
-
url
(
optional
string or
array of string
)
-
要在窗口中打开的一个 URL 或 URL 数组。完整的 URL 必须包含协议(即 "http://www.google.com",而不是 "www.google.com"),而相对 URL 相对于扩展程序中的当前页面。默认为“打开新的标签页”页面。
-
tabId
(
optional
integer
)
-
需要移动至新窗口的标签页标识符。
-
left
(
optional
integer
)
-
新窗口与屏幕左侧的距离,以像素为单位。如果未指定,新窗口将自然地与最后一个活动窗口偏离一定的距离。对于面板将忽略这一值。
-
top
(
optional
integer
)
-
新窗口与屏幕顶部的距离,以像素为单位。如果未指定,新窗口将自然地与最后一个活动窗口偏离一定的距离。对于面板将忽略这一值。
-
width
(
optional
integer
)
-
新窗口的宽度(包含边框),以像素为单位,如果未指定则默认为自然宽度。
-
height
(
optional
integer
)
-
新窗口的高度(包含边框),以像素为单位,如果未指定则默认为自然高度。
-
focused
(
optional
boolean
)
-
如果为true,则打开一个活动窗口;如果为false,则打开一个不活动窗口。
-
incognito
(
optional
boolean
)
-
新窗口是否为隐身窗口。
-
type
(
optional
enum of "normal"
, "popup"
, "panel"
, or "detached_panel"
)
-
指定要创建的浏览器窗口类型。除非设置了“--enable-panels”标志,"panel" 与 "detatched_panel" 类型都会创建弹出窗口。
-
callback
(
optional
function
)
-
如果您指定了 callback 参数,它应该指定一个如下形式的函数:
function(Window window) {...};
-
window
(
optional
Window
)
-
包含已创建窗口的详情。
update
chrome.windows.update(integer windowId, object updateInfo, function callback)
更新窗口属性。仅指定您需要更改的属性,未指定的属性不会更改。
参数
-
updateInfo
(
object
)
-
-
属性
-
left
(
optional
integer
)
-
窗口与屏幕左侧的距离,以像素为单位。对于面板将忽略这一值。
-
top
(
optional
integer
)
-
窗口与屏幕顶部的距离,以像素为单位。对于面板将忽略这一值。
-
width
(
optional
integer
)
-
窗口的宽度,以像素为单位。对于面板将忽略这一值。
-
height
(
optional
integer
)
-
窗口的高度,以像素为单位。对于面板将忽略这一值。
-
focused
(
optional
boolean
)
-
如果为true,将窗口置于顶层;如果为false,将Z-顺序中的下一个窗口置于顶层。
-
drawAttention
(
optional
boolean
)
-
如果为true,使窗口以吸引用户注意的方式显示,而不更改活动窗口,这一效果将一直持续到用户将焦点移至这一窗口。如果窗口已经获得焦点则该选项无效,将这一属性设置为false可以取消上一次的突出显示请求。
-
state
(
optional
enum of "normal"
, "minimized"
, "maximized"
, or "fullscreen"
)
-
窗口的新状态。"minimized"(最小化)、"maximized"(最大化)与 "fullscreen"(全屏)状态不能与 left、top、width 或 height 属性一起使用。
-
callback
(
optional
function
)
-
如果您指定了 callback 参数,它应该指定一个如下形式的函数:
function(Window window) {...};
remove
chrome.windows.remove(integer windowId, function callback)
移除(关闭)一个窗口以及其中的所有标签页。
参数
-
callback
(
optional
function
)
-
如果您指定了 callback 参数,它应该指定一个如下形式的函数:
function() {...};
事件
onCreated
当窗口创建时产生。
addListener
chrome.windows.onCreated.addListener(function callback)
参数
callback 参数应该指定一个如下形式的函数:
function(Window window) {...};
onRemoved
当窗口移除(关闭)时产生。
addListener
chrome.windows.onRemoved.addListener(function callback)
参数
callback 参数应该指定一个如下形式的函数:
function(integer windowId) {...};
-
windowId
(
integer
)
-
已移除窗口的标识符。
onFocusChanged
在当前具有焦点的窗口改变时产生,如果所有 Chrome 浏览器窗口都没有焦点则为 WINDOW_ID_NONE。注意:在某些 Linux 窗口管理器中,从一个 Chrome 浏览器窗口切换到另一个之前总是会发送 WINDOW_ID_NONE 的该事件。
addListener
chrome.windows.onFocusChanged.addListener(function callback)
参数
callback 参数应该指定一个如下形式的函数:
function(integer windowId) {...};
-
windowId
(
integer
)
-
获得焦点的新窗口的标识符。