chrome.windows
描述: |
使用 chrome.windows API 与浏览器窗口交互。您可以使用该模块创建、修改和重新排列浏览器中的窗口。
|
可用版本: |
从 Chrome 5 开始支持。
|
Permissions: |
chrome.windows API 不需要任何权限就能使用。然而,
Tab 的
url 、title 和
favIconUrl
属性需要有 "tabs" 权限后才会给出。
|
清单文件
当您请求时,windows.Window
对象会包含
tabs.Tab
对象数组。如果您需要访问
tabs.Tab
的
url
、title
或
favIconUrl
属性,您必须在清单文件中声明
"tabs"
权限。例如:
{ "name": "我的扩展程序", ... "permissions": ["tabs"], ... }
当前窗口
扩展程序系统中的许多函数有一个可选的 windowId 参数,默认为当前窗口。
当前窗口即包含当前正在执行的代码的窗口,值得注意的是这不一定是顶层窗口或拥有焦点的窗口。
例如,假设一个扩展程序在一个 HTML 文件中创建了几个标签页或窗口,该 HTML 文件中又调用了 tabs.query。当前窗口是包含发出调用的页面的窗口,无论顶层窗口是哪一个。
而在事件页面中,当前窗口的值则是最后一个活动的窗口。在某些情况下,后台页面可能没有当前窗口。
例子
您可以在
examples/api/windows
目录中找到使用窗口模块的简单例子,另一个例子在
inspector
例子的
tabs_api.html
文件中。有关其他例子以及查看源代码的帮助,请参见示例。
摘要
类型 | |
---|---|
Window | |
属性 | |
WINDOW_ID_NONE | |
WINDOW_ID_CURRENT | |
方法 | |
get −
chrome.windows.get(integer windowId, object getInfo, function callback)
| |
getCurrent −
chrome.windows.getCurrent(object getInfo, function callback)
| |
getLastFocused −
chrome.windows.getLastFocused(object getInfo, function callback)
| |
getAll −
chrome.windows.getAll(object getInfo, function callback)
| |
create −
chrome.windows.create(object createData, function callback)
| |
update −
chrome.windows.update(integer windowId, object updateInfo, function callback)
| |
remove −
chrome.windows.remove(integer windowId, function callback)
| |
事件 | |
onCreated | |
onRemoved | |
onFocusChanged |
类型
Window
属性 | ||
---|---|---|
integer | (可选) id |
窗口标识符,窗口标识符在浏览器会话中唯一。在某些情况下,例如当您使用 sessions API 查询窗口时,窗口可能没有标识符,此时存在会话标识符。 |
boolean | focused |
是否为当前具有焦点的窗口。 |
integer | (可选) top |
窗口与屏幕顶部的距离,以像素为单位。在某些情况下,例如当您使用 sessions API 查询关闭的窗口时,窗口可能没有 top 属性。 |
integer | (可选) left |
窗口与屏幕左侧的距离,以像素为单位。在某些情况下,例如当您使用 sessions API 查询关闭的窗口时,窗口可能没有 left 属性。 |
integer | (可选) width |
窗口的宽度(包含边框),以像素为单位。在某些情况下,例如当您使用 sessions API 查询关闭的窗口时,窗口可能没有 width 属性。 |
integer | (可选) height |
窗口的高度(包含边框),以像素为单位。在某些情况下,例如当您使用 sessions API 查询关闭的窗口时,窗口可能没有 height 属性。 |
array of tabs.Tab | (可选) tabs |
表示窗口中所有标签页的 tabs.Tab 对象数组。 |
boolean | incognito |
是否为隐身窗口。 |
enum of "normal" , "popup" , "panel" , or "app" |
(可选) type |
浏览器窗口的类型。在某些情况下,例如当您使用 sessions 查询关闭的窗口时,窗口可能没有 type 属性。 |
enum of "normal" , "minimized" , "maximized" , or "fullscreen" |
(可选) state |
从 Chrome 17 开始支持。 浏览器窗口的状态。在某些情况下,例如当您使用 sessions 查询关闭的窗口时,窗口可能没有 state 属性。 |
boolean | alwaysOnTop |
从 Chrome 19 开始支持。 窗口是否设置为前端显示。 |
string | (可选) sessionId |
从 Chrome 31 开始支持。 会话标识符,用于唯一标识由 sessions API 获取的窗口。 |
属性
-1 |
chrome.windows.WINDOW_ID_NONE |
从 Chrome 6 开始支持。 表示不存在Chrome浏览器窗口的windowId值。 |
-2 |
chrome.windows.WINDOW_ID_CURRENT |
从 Chrome 18 开始支持。 代表当前窗口的windowId值。 |
方法
get
chrome.windows.get(integer windowId, object getInfo, function callback)
获取一个窗口的有关详情。
参数 | |||||
---|---|---|---|---|---|
integer | windowId | ||||
object | (可选) getInfo |
从 Chrome 18 开始支持。
|
|||
function | callback |
callback 参数应该是一个如下形式的函数: function( Window window) {...};
|
getCurrent
chrome.windows.getCurrent(object getInfo, function callback)
获取当前窗口。
参数 | |||||
---|---|---|---|---|---|
object | (可选) getInfo |
从 Chrome 18 开始支持。
|
|||
function | callback |
callback 参数应该是一个如下形式的函数: function( Window window) {...};
|
getLastFocused
chrome.windows.getLastFocused(object getInfo, function callback)
获得最近获得焦点的窗口,通常为顶层窗口。
参数 | |||||
---|---|---|---|---|---|
object | (可选) getInfo |
从 Chrome 18 开始支持。
|
|||
function | callback |
callback 参数应该是一个如下形式的函数: function( Window window) {...};
|
getAll
chrome.windows.getAll(object getInfo, function callback)
获取所有窗口。
参数 | |||||
---|---|---|---|---|---|
object | (可选) getInfo |
|
|||
function | callback |
callback 参数应该是一个如下形式的函数: function(array of Window windows) {...};
|
create
chrome.windows.create(object createData, function callback)
创建(打开)一个新的浏览器窗口,可以提供大小、位置或默认 URL 等可选参数。
参数 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
object | (可选) createData |
|
|||||||||||||||||||||||||||
function | (可选) callback |
如果您指定了 callback 参数,它应该是一个如下形式的函数: function( Window window) {...};
|
update
chrome.windows.update(integer windowId, object updateInfo, function callback)
更新窗口属性。仅指定您需要更改的属性,未指定的属性不会更改。
参数 | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
integer | windowId | ||||||||||||||||||||||
object | updateInfo |
|
|||||||||||||||||||||
function | (可选) callback |
如果您指定了 callback 参数,它应该是一个如下形式的函数: function( Window window) {...};
|
remove
chrome.windows.remove(integer windowId, function callback)
移除(关闭)一个窗口以及其中的所有标签页。
参数 | ||
---|---|---|
integer | windowId | |
function | (可选) callback |
如果您指定了 callback 参数,它应该是一个如下形式的函数: function() {...};
|
事件
onCreated
onRemoved
当窗口移除(关闭)时产生。
addListener
chrome.windows.onRemoved.addListener(function callback)
参数 | |||||
---|---|---|---|---|---|
function | callback |
callback 参数应该是一个如下形式的函数: function(integer windowId) {...};
|
onFocusChanged
在当前具有焦点的窗口改变时产生,如果所有 Chrome 浏览器窗口都没有焦点则为 windows.WINDOW_ID_NONE。注意:在某些 Linux 窗口管理器中,从一个 Chrome 浏览器窗口切换到另一个之前总是会发送 windows.WINDOW_ID_NONE 的该事件。
addListener
chrome.windows.onFocusChanged.addListener(function callback)
参数 | |||||
---|---|---|---|---|---|
function | callback |
callback 参数应该是一个如下形式的函数: function(integer windowId) {...};
|
示例扩展程序
- Cookie API Test Extension – Testing Cookie API
- Live HTTP headers – Displays the live log with the http requests headers
- Download Selected Links – Select links on a page and download them.
- Keep Awake – Override system power-saving settings.
- Show Tabs in Process – Adds a browser action showing which tabs share the current tab's process.
- Tab Inspector – Utility for working with the extension tabs api
- Console TTS Engine – A "silent" TTS engine that prints text to a small window rather than synthesizing speech.
- Merge Windows – Merges all of the browser's windows into the current window
- Chrome Sounds – Enjoy a more magical and immersive experience when browsing the web using the power of sound.
- Google Mail Checker – 显示 Google Mail 收件箱中的未读邮件数。点击该按钮还可以打开您的收件箱。
- Imageinfo – Get image info for images, including EXIF data
- Speak Selection – Speaks the current selection out loud.