如何从node webkit中的package.json覆盖窗口高度和宽度

时间:2015-08-12 06:19:53

标签: node-webkit

来自package.json的代码:

{
    "main": "main.html",

    "name": "Test App",
    "window": {
        "toolbar": true,
        "width": 400,
        "height": 500,
        "position": "mouse",
        "resizable": true
    }
}

main.html我有 javascript代码打开新窗口

 window.open("http://www.example.com","mywindow", "location=1,status=1,scrollbars=1,width=100,height=100");

但窗口的高度和宽度不在width=100height=100

我还在main.html中尝试了window.resize(100,100),但它没有用。 有什么方法可以覆盖新窗口的heightwidth吗?

1 个答案:

答案 0 :(得分:0)

使用window.open()打开的Windows使用清单文件(package.json)中的窗口设置。

如果使用nw.js Window对象创建窗口而不是DOM对象,则可以以清单格式传递窗口设置以覆盖默认值。

var gui = require("nw.gui")
gui.Window.open('http://www.example.com', {  
    width: 100,
    height: 100,
}); 

或者,如果您必须使用DOM window.open并且需要控制默认值,则需要处理" new-win-policy"事件并使用setNewWindowManifest提供窗口设置:

// set up handler for new-win-policy event
var gui = require('nw.gui');
var win = gui.Window.get();

win.on('new-win-policy', function (frame, url, policy) {
    policy.setNewWindowManifest({
        width: 600, 
        height: 300
    });
});

// open window using DOM object, uses arguments set in event handler
window.open('http://www.example.com', '_blank', '');

此处提供了更多文档:https://github.com/nwjs/nw.js/wiki/Window#new-win-policy