在启动后,我如何获取节点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>