创建窗口

时间:2017-06-23 12:18:14

标签: javascript google-chrome google-chrome-app

我尝试做一个小应用程序,当我启动应用程序时,我在创建窗口时遇到了一些问题。

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

2 个答案:

答案 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,用户可以自己调整窗口大小。但是当用户关闭它时,将使用下一次的默认值重置大小。