谷歌浏览器插件教程windows 窗口

chrome.windows

使用chrome.windows API 与浏览器窗口进行交互。您可以使用此 API 在浏览器中创建、修改和重新排列窗口。

清单

{
  "name": "My extension",
  ...
  "permissions": ["tabs"],
  ...
}

当被请求时, awindows.Window将包含一个对象数组tabs.Tab。如果您需要访问、、或的属性,则必须在清单中声明"tabs"权限。例如:url、pendingUrl、title、favIconUrl、tabs.Tab

当前窗口

扩展系统中的很多函数都带有一个可选的 windowId 参数,默认为当前窗口。
当前窗口是包含当前正在执行的代码的窗口。重要的是要意识到这可能与最顶层或焦点窗口不同。

例如,假设一个扩展从单个 HTML 文件创建了几个选项卡或窗口,并且该 HTML 文件包含对tabs.query的调用。当前窗口是包含发出调用的页面的窗口,无论最上面的窗口是什么。

在事件页面的情况下,当前窗口的值回退到最后一个活动窗口。在某些情况下,背景页面可能没有当前窗口。

类型

CreateType 创建类型

指定要创建的浏览器窗口类型。'panel' 已弃用,仅适用于 Chrome 操作系统上现有的列入白名单的扩展程序。

  • normal
  • popup
  • panel

QueryOptions 查询选项

  • populate
    如果为 true,则该windows.Window对象具有tabs包含tabs.Tab对象列表的属性。如果扩展的清单文件包含权限,则Tab对象仅包含url、pendingUrl、title和属性。favIconUrl、"tabs"

  • windowTypes
    如果设置,windows.Window则根据其类型过滤返回的内容。如果未设置,则默认过滤器设置为 ['normal', 'popup']。

Window

  • alwaysOnTop 窗口是否设置为始终在顶部。
  • focused 窗口当前是否为焦点窗口。
  • height 窗口的高度,包括框架,以像素为单位。在某些情况下,可能不会为窗口分配height属性;例如,从sessionsAPI 查询关闭的窗口时。
  • id 窗口的 ID。窗口 ID 在浏览器会话中是唯一的。在某些情况下,可能不会为窗口分配ID属性;例如,当使用sessions API 查询窗口时,可能会出现会话 ID。
  • incognito 窗口是否隐身。
  • left 窗口与屏幕左边缘的偏移量(以像素为单位)。在某些情况下,可能不会为窗口分配left属性;例如,从sessionsAPI 查询关闭的窗口时。
  • sessionId 用于唯一标识窗口的会话 ID,从sessions API 获取。
  • state 此浏览器窗口的状态。
  • tabs tabs.Tab表示窗口中当前选项卡的对象数组。
  • top 窗口与屏幕上边缘的偏移量(以像素为单位)。在某些情况下,可能不会为窗口分配top属性;例如,从sessionsAPI 查询关闭的窗口时。
  • type 浏览器窗口的类型。
  • width 窗口的宽度,包括框架,以像素为单位。在某些情况下,可能不会为窗口分配width属性;例如,从sessionsAPI 查询关闭的窗口时。

WindowState

  • normal 普通的
  • minimized 最小化
  • maximized 最大化
  • fullscreen 全屏
  • locked-fullscreen 锁定全屏

WindowType

  • normal
  • popup
  • panel
  • app
  • devtools
需要花费 5 个 学币,后才能查看完整内容 立即购买

评论区 (0)

没有记录
支持 markdown,图片截图粘贴拖拽都可以自动上传。
空气

空气 · 中级学士

热爱技术,喜欢新东西。

老程序员年度分享MVP
查看更多

最新视频课程

钻级赞助商