2017-06-23 4 views
0

Ich versuche, eine kleine Anwendung zu tun, und ich habe ein kleines Problem mit der Erstellung des Fensters, wenn ich meine Anwendung starten.Stellen Sie Größe und Position beim Erstellen des Fensters

Am Anfang habe ich eine Seite mit einer festen Position und Größe, dass das, was ich in der background.js Datei zu tun (ich nichts anderes in dieser Datei habe):

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 
     } 
    }); 
}); 

Diese gute Arbeit, aber nur für das erste Mal. Wenn der Benutzer die Größe des Fensters selbst ändert (was er kann, ist es nicht das Problem), danach, wenn er die App neu startet, ist die Init-Größe des Fensters nicht das, was ich in der background.js Datei angegeben habe, aber es ist die Größe des Fenster kurz bevor er es bei der letzten Benutzung schließt.

Also was ich will ist, wenn die App startet, ist die Größe immer 700 * 650.

+1

vielleicht fügen Sie einen Reset auf diese Standardwerte mit chrome.app.window.onClosed.addListener (Funktionsrückruf)? –

Antwort

0

Dank zu beantworten, habe ich durch mein Problem gelöst, Folgendes zu tun:

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; 
      }); 
     }); 
}); 

Also, wenn die App lauch ist, ist die Größe 700 * 650 und der Benutzer kann sich die Größe des Fensters. Aber wenn der Benutzer es schließt, wird die Größe mit dem Standardwert für das nächste Mal zurückgesetzt.

0

Ich denke, dass auf die Anwendung starten Sie check current size des Fensters kann durch chrome.app.window.current() Verfahren und neben der Größe zu ändern, wenn es durch setSize method erforderlich:

Der andere Ansatz minimal erforderliche Größe eingestellt ist (zB 700 * 650) von Fenster von setMinimumSize Methode oder Reset-Eigenschaften bei enger Anwendung. Aus der Sicht des Benutzers wäre es schön, wenn der Benutzer die Größe des Fensters ändern könnte.

Verwandte Themen