我想在node-webkits node-main文件中启动后立即在窗口对象上注册事件。如果
window.alert("foo")
在开头我得到的窗口未定义。如果我等了几秒钟就可以了。
setTimeout(function(){
window.alert("foo")
},2000)
是否有其他事件(可能是进程成员)我可以收听,以获得窗口对象可用的通知?
答案 0 :(得分:1)
是的,有一个loaded事件发出,您可以挂钩。
var gui = require('nw.gui');
var win = gui.Window.get();
win.on('loaded', function() {
// do stuff
});
答案 1 :(得分:0)
全局变量process
可以从HTML页面中的脚本以及node-main和bg-script文件中获得。
process
也是EventEmitter的一个实例。因此,您可以在节点主文件中注册和监视事件,并在加载时从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>