This page was saved using WebZIP 7.0.3.1030 offline browser on 12/24/13 11:31:37.
Address: https://crxdoc-zh.appspot.com/apps/app.window.html
Title: chrome.app.window - Google Chrome 应用开发文档(非官方中文版)  •  Size: 86803

chrome.app.window

描述 使用 chrome.app.window API 创建窗口。窗口可以有框架,包含标题栏和大小控件,它们不和任何 Chrome 浏览器窗口关联。
可用版本 从 Chrome 23 开始稳定支持。
权限 "app.window"

chrome.app.window 参考

类型

Bounds

Bounds 的属性

left ( optional integer )

top ( optional integer )

width ( optional integer )

height ( optional integer )

AppWindow

AppWindow 的属性

focus ( function )

使窗口拥有焦点。

fullscreen ( function )

使窗口进入全屏状态。

isFullscreen ( function )

窗口是否处于全屏状态。
返回值 boolean

minimize ( function )

最小化窗口。

isMinimized ( function )

窗口是否最小化。
返回值 boolean

maximize ( function )

最大化窗口。

isMaximized ( function )

窗口是否最大化。
返回值 boolean

restore ( function )

从最大化、最小化或全屏状态恢复窗口。

moveTo ( function )

将窗口移到指定位置(lefttop)。

参数

left ( integer )

top ( integer )

resizeTo ( function )

将窗口大小调整为 width × height 像素。

参数

width ( integer )

height ( integer )

drawAttention ( function )

吸引用户注意该窗口。

clearAttention ( function )

取消对窗口的吸引。

close ( function )

关闭窗口。

show ( function )

显示窗口,如果窗口已经可见则什么都不做。如果 focused 设置为 true 或省略则使窗口获得焦点。

参数

focused ( optional boolean )

hide ( function )

隐藏窗口,如果窗口已经可见则什么都不做。

getBounds ( function )

获取窗口的大小与位置,以 Bounds 对象表示。
返回值 Bounds

setBounds ( function )

设置窗口的大小与位置。

参数

bounds ( Bounds )

getMinWidth ( function )

获取窗口当前的最小宽度,如果没有最小值则返回 undefined
返回值 integer

getMinHeight ( function )

获取窗口当前的最小高度,如果没有最小值则返回 undefined
返回值 integer

getMaxWidth ( function )

获取窗口当前的最大宽度,如果没有最小值则返回 undefined
返回值 integer

getMaxHeight ( function )

获取窗口当前的最大高度,如果没有最小值则返回 undefined
返回值 integer

setMinWidth ( function )

设置窗口当前的最小宽度,设置为 null 取消这一约束。

参数

minWidth ( optional integer )

setMinHeight ( function )

设置窗口当前的最小高度,设置为 null 取消这一约束。

参数

minHeight ( optional integer )

setMaxWidth ( function )

设置窗口当前的最大宽度,设置为 null 取消这一约束。

参数

maxWidth ( optional integer )

setMaxHeight ( function )

设置窗口当前的最大高度,设置为 null 取消这一约束。

参数

maxHeight ( optional integer )

isAlwaysOnTop ( function )

窗口是否前端显示。
返回值 boolean

setAlwaysOnTop ( function )

设置窗口是否应该前端显示。需要 "alwaysOnTopWindows" 权限,当前仅在 Dev 分支可用。

参数

alwaysOnTop ( boolean )

contentWindow ( window )

已创建子窗口的 JavaScript window 对象。

id ( string )

创建窗口时指定的标识符。

方法

create

chrome.app.window.create(string url, object options, function callback)

窗口的大小与位置可以以几种不同的方式指定。最简单的选择是什么都不指定,这种情况下会使用默认大小与平台相关的位置。

另一种选择是使用 bounds 属性,这样窗口总是会放在指定位置并且具有指定大小。如果窗口有边框,它的总大小是指定大小加上边框的大小。也就是说,bounds 中的大小是内容大小,而不是窗口大小。

如果要自动记录窗口的位置,您可以为它们提供标识符。如果窗口有标识符,该标识符将在窗口移动或调整大小时用于记录它的大小和位置。以后打开具有同样标识符的窗口时使用这一大小和位置,而不是指定的大小和位置。如果您需要打开一个具有标识符的窗口,并且使用不同于记录的默认位置,您可以使它创建时隐藏,将它移动到期望的位置,然后显示它。

参数

url ( string )

options ( optional object )

属性

id ( optional string )

用于标识窗口的标识符,会用来记住窗口的大小与位置,当同一标识符的窗口再次打开时恢复原来的尺寸。如果创建窗口时另一个具有同样标识符的窗口已经存在,当前打开的窗口将获得焦点,而不会创建新窗口。

minWidth ( optional integer )

窗口的最小宽度。

minHeight ( optional integer )

窗口的最小高度。

maxWidth ( optional integer )

窗口的最大宽度。

maxHeight ( optional integer )

窗口的最大高度。

frame ( optional string )

框架类型:'none' 或 'chrome'(默认为 'chrome')。如果使用 'none',可以通过 CSS 属性 -webkit-app-region 设置应用窗口的拖放特性。-webkit-app-region: drag 可以将区域标志为可拖放的,而 no-drag 可以用来在嵌套元素上禁用该样式。

bounds ( optional Bounds )

窗口中内容的大小与位置(不包括标题栏)。如果同时指定了 id,并且以前显示过匹配标识符的窗口,则会使用记录下来的窗口大小与位置。

transparentBackground ( optional boolean )

启用窗口背景透明,仅在 ash 中支持,需要实验性 API 权限。

state ( optional enum of "normal", "fullscreen", "maximized", or "minimized" )

窗口的初始状态,允许使它在创建时就全屏、最大化或最小化。默认为 'normal'(正常)。

hidden ( optional boolean )

如果为 true,该窗口创建后将处于隐藏状态,创建之后在该窗口上调用 show() 可以显示它。默认为 false。

resizable ( optional boolean )

如果为 true 的话,用户可以调整窗口的大小。默认为 true。

alwaysOnTop ( optional boolean )

如果为 true,窗口会保持在其他大部分窗口之上。如果有多个这样的窗口,当前具有焦点的窗口会在前台。需要 "alwaysOnTopWindows" 权限,默认为 false。创建窗口后调用 setAlwaysOnTop 修改该属性。当前仅在 Dev 分支可用。

focused ( optional boolean )

如果为 true,窗口创建时具有焦点。默认为 true。

callback ( optional function )

在已创建窗口(子窗口)的 load 事件产生前在父窗口中调用,父窗口可以设置子窗口中的字段或函数,以便在 onload 中使用。例如:background.js:
function(createdWindow) { createdWindow.contentWindow.foo = function () { }; };
window.js:
window.onload = function () { foo(); }

如果您指定了 callback 参数,它应该指定一个如下形式的函数:

function(appwindow createdWindow) {...};

createdWindow ( appwindow )

current

AppWindow chrome.app.window.current()

返回当前脚本上下文(即 JavaScript window 对象)的 AppWindow 对象。这也可以在另一个页面的脚本上下文句柄上调用,例如 otherWindow.chrome.app.window.current()。

getAll

array of AppWindow chrome.app.window.getAll()

获取所有当前创建的应用窗口数组。该方法在 Chrome 33 中新增。

get

AppWindow chrome.app.window.get(string id)

获取指定标识符的 AppWindow 对象,如果没有指定标识符的窗口则返回 null。该方法在 Chrome 33 中新增。

参数

id ( string )

事件

onBoundsChanged

当窗口改变大小时产生。

addListener

chrome.app.window.onBoundsChanged.addListener(function callback)

参数

callback ( function )

callback 参数应该指定一个如下形式的函数:

function() {...};

onClosed

当窗口关闭时产生。

addListener

chrome.app.window.onClosed.addListener(function callback)

参数

callback ( function )

callback 参数应该指定一个如下形式的函数:

function() {...};

onFullscreened

窗口全屏时产生。

addListener

chrome.app.window.onFullscreened.addListener(function callback)

参数

callback ( function )

callback 参数应该指定一个如下形式的函数:

function() {...};

onMaximized

当窗口最大化时产生。 Fired when the window is maximized.

addListener

chrome.app.window.onMaximized.addListener(function callback)

参数

callback ( function )

callback 参数应该指定一个如下形式的函数:

function() {...};

onMinimized

当窗口最小化时产生。

addListener

chrome.app.window.onMinimized.addListener(function callback)

参数

callback ( function )

callback 参数应该指定一个如下形式的函数:

function() {...};

onRestored

当窗口从最小化或最大化的状态恢复时产生。

addListener

chrome.app.window.onRestored.addListener(function callback)

参数

callback ( function )

callback 参数应该指定一个如下形式的函数:

function() {...};