创建时设置大小和位置 window

Set size and position when create window

我尝试做一个小应用程序,当我开始我的应用程序时,我在创建 window 时遇到了一点问题。

一开始,我有一个位置和大小固定的页面,我在 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
       }
   });
});

这项工作不错,但只是第一次。如果用户自己调整 window 的大小(他可以做到,这不是问题),之后当他重新启动应用程序时,window 的初始大小不是我在 background.js 文件,但它是 window 在他上次使用时关闭它之前的大小。

所以我想要的是应用程序启动时,大小始终为 700*650。

我认为在启动您的应用程序时您可以 check current size of window by chrome.app.window.current() method and next to change the size if is it required by setSize method:

另一种方法是通过 setMinimumSize 方法设置 window 的最小所需大小(例如 700*650)或在关闭应用程序时重置属性。从用户的角度来看,如果用户可以更改 window.

的大小就好了

感谢您的回答,我已经通过执行以下操作解决了我的问题:

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,用户可以自行调整大小 window。但是当用户关闭它时,下次使用默认值重置大小。