我尝试做一个小应用程序,当我启动应用程序时,我在创建窗口时遇到了一些问题。
一开始,我有一个固定位置和大小的页面,我在background.js
文件中执行的操作(此文件中没有其他内容):
chrome.app.runtime.onLaunched.addListener(function() {
var screenWidth = screen.availWidth;
var screenHeight = screen.availHeight;
var width = 700;
var height = 650;
var left = Math.round((screenWidth-width)/2);
var top = Math.round((screenHeight-height)/2);
chrome.app.window.create('./index.html', {
id: 'main',
icon: 'icon.png',
outerBounds: {
height:height,
width:width,
left: left,
top: top
}
});
});
这项工作很好但只是第一次。如果用户调整窗口大小(他可以做,这不是问题),之后当他重新启动应用程序时,窗口的init大小不是我在background.js
文件中指定的,但它是在最后一次使用之前关闭它的窗口的大小。
所以我想要的是当应用程序启动时,大小总是700 * 650。
答案 0 :(得分:0)
我认为,在您的应用程序启动时,您可以chrome.app.window.current()
方法check current size窗口,然后根据setSize
method的要求更改大小:
另一种方法是通过setMinimumSize
方法设置窗口的最小所需大小(例如700 * 650)或关闭应用程序时重置属性。从用户的角度来看,如果用户可以改变窗口的大小,那就太好了。
答案 1 :(得分:0)
感谢回答,我已经通过以下方式解决了我的问题:
chrome.app.runtime.onLaunched.addListener(function() {
var screenWidth = screen.availWidth;
var screenHeight = screen.availHeight;
var width = 700;
var height = 650;
var left = Math.round((screenWidth-width)/2);
var top = Math.round((screenHeight-height)/2);
chrome.app.window.create('./index.html',
{
id: 'main',
outerBounds: {
height:height,
width:width,
left: left,
top: top
}
}, function(win){
win.onClosed.addListener(function(){
var appWindow = chrome.app.window.current();
appWindow.outerBounds.height = height;
appWindow.outerBounds.width = width;
appWindow.outerBounds.top = top;
appWindow.outerBounds.left = left;
});
});
});
因此,当应用程序很多时,大小为700 * 650,用户可以自己调整窗口大小。但是当用户关闭它时,将使用下一次的默认值重置大小。