Node webkit打开一个新窗口并监听on.loaded

时间:2014-02-01 07:39:23

标签: javascript node.js window node-webkit

好的,所以我找不到这个答案,我试图打开一个窗口,一旦加载就执行一个命令,然后从主窗口修改它的DOM。 这是我的示例代码:

var window = window.open('empty.html',{
    "position": "center",
    "focus": true,
    "toolbar": false,
    "frame": true
  });
...
window.on("loaded",function() {
...

它不会发射。我试过的时候

var a_window = window.open('empty.html',{
  "position": "center",
  "focus": true,
  "toolbar": false,
  "frame": true
});
a_window = gui.Window.get(a_window);
...
a_window.on("loaded",function() {
...

但在这里它甚至没有打开窗户! (不,我在回调中没有hide()函数),也没有抛出错误。有什么帮助吗?

2 个答案:

答案 0 :(得分:3)

试着看看这是不是应该做的,它确实适合我:

var a_window = window.open('empty.html',{
  "position": "center",
  "focus": true,
  "toolbar": false,
  "frame": true
});
onload = function() {
    alert('Help it\'s loaded!');
};

您知道,我认为onload会触发每个窗口,所以请记住在不需要时取消设置:

onload = null;

您也可以在单个窗口中尝试此操作:

a_window.onload = function() {
    alert('Help it\'s loaded!');
};

答案 1 :(得分:0)

nw.Window.open用打开的窗口回调第三个参数。 nw.Window.get将DOM窗口作为参数。

nw.Window.open('empty.html',{},win=>win.on('loaded', () =>someFunction(nw.Window.get(win.window))));