2014-05-08 207 views
2

我可以用我的应用程序创建一个新窗口,但我想知道是否有一种方法可以在屏幕底部打开此窗口。给定高度,首选行为是从屏幕的左侧到右侧填入一个窗口,并且完全位于该屏幕的底部。就像底部停靠的面板一样。在屏幕底部创建窗口

是否有一些属性可以添加到创建中以实现此目的?我所能想到的是将左边设置为0,但这只能解决一件事。

chrome.app.window.create("window.html", { 
    alwaysOnTop: true, 
    id: "info_view", 
    bounds: {width:600, height:400}, 
}); 

的应用程序窗口中创建引用是在这里:https://developer.chrome.com/apps/app_window#type-CreateWindowOptions

回答

1

首先,它看起来像bounds被弃用;您应该使用innerBoundsouterBounds

其次,所有边界需要BoundsSpecification,其中有参数lefttop。您可以使用返回workArea(和bounds,取决于您的意图)的chrome.system.display.getInfo(function callback)获得屏幕显示边界。

然后,也许你想传递给window.create

outerBounds: { 
    top: screenInfo.workArea.height - window_height, 
    height: window_height 
} 

(注:我还没有尝试过,但)

+0

我的getInfo工作([SYSTEMINFO示例](HTTPS:/ /github.com/GoogleChrome/chrome-app-samples/tree/master/systemInfo)) 但是,bounds和outerBounds都可以工作。给边界提供属性时,窗口将不会打开上次关闭的位置。也许是因为它已被弃用。 有了外边框,它给了我一个错误。也许是因为在Chrome 36和我运行的Chrome 34之前它不被支持。我不知道如何让它工作,因为我能找到的最高测试版本是35. – Murdeth

+0

我不太熟悉Chrome调试器错误消息,但这是它给了我: '响应system.display.getInfo的错误:错误:参数2的值无效。属性'outerBounds':意外的属性。' – Murdeth

+0

我可能一直匆忙与我不推荐使用“bounds”的建议;它最近才被标记为这样。 – mmocny