如何在 Node Webkit 中 windows 之间共享数据?

How to share data between windows in Node Webkit?

我正在使用 node webkit v0.45,我需要打开一个带有动态参数的新 window(具有预先确定的 html 布局)。

我能找到的唯一文档建议使用 on“loaded”事件将数据发送到新 window,然后处理在新 window 中使用 on“data”接收到的数据] html,如下:

主要window:

var ngui = require('nw.gui');

var newWindow = ngui.Window.open('newwindow.html', {
    width: 1120,
    height: 360
})

newWindow.on ('loaded', function(){
    var data = {msg: "test"};
    newWindow.emit("data", data);
});

新 window:

var gui = require('nw.gui');
var win = gui.Window.get();
win.on("data", function(data) {
    console.log(data.msg);
});

但是,在 v0.13 之后似乎已弃用并且 Window class 不再继承自 EventEmitter。 windows带参数打开还有其他选项吗?

*** 更新 ***

以下代码将在新的 window 打开时起作用:

var param = 'param';
ngui.Window.open('newWindow.html', {
    width: 1120,
    height: 360,
}, function(newWindow) {
    pageWindow.on('loaded', () => {
        newWindow.window.param = param;
    });
});

在 newWindow.html 中:

<script>
    function getParam(){
        if (!window.param){
            setTimeout(function(){
                getParam();
            },50);
        } else {
            console.log("Successfully loaded param: '" + window.param + "'");
        }
    }
    getParam();
</script>

节点上下文可用于共享数据,因为节点上下文在 windows 之间共享。