在启动后,我如何获取节点webkit中的窗口对象

我想在node-webkits node-main文件中启动后立即在窗口对象上注册事件。 如果这样做

window.alert("foo") 

在开始我得到的窗口没有定义。 如果我等几秒钟就可以了。

 setTimeout(function(){ window.alert("foo") },2000) 

是否有另一个事件(可能是进程的成员),我可以听,得到窗口对象可用的通知?

是的,有一个加载的事件发射,你可以挂钩。

 var gui = require('nw.gui'); var win = gui.Window.get(); win.on('loaded', function() { // do stuff }); 

全局variablesprocess可以从HTML页面中的脚本以及node-main和bg-script文件中获得。

process也是EventEmitter的一个实例。 因此,您可以在您的node-main文件中注册和事件监听器,并在加载时从HTML文件中触发事件。

在node-main.js中

 process.on('foo-event', function (win) { win.alert('foo'); }); 

在index.html中

 <!DOCTYPE html> <html> <head> <script> process.emit('foo-event', window); </script> </head> <body></body> </html>