[英]nwjs - call function on binary file
// source.js
function foo(){
alert("its work!");
}
// main.js
nw.Window.open("index.html", {}, function (win) {});
setTimeout(() => {
let win = nw.Window.get();
win.evalNWBin(null, "binary.bin");
foo();
}, 2000);
我运行以下命令来生成二进制文件:
nwjc source.js binary.bin
当我运行上面的代码时,它显示了这个错误:
Uncaught ReferenceError: foo is not defined
如何从主js调用binary.bin上的function?
因为您在package.json
中执行"main": "index.js"
,所以代码将在节点上下文中运行并且alert
不是 function。
如果你改为"main": "index.html"
然后有
<script>
nw.Window.get().evalNWBin(null, 'binary.bin');
foo();
</script>
它会正常工作。
您可以Right-Click > Inspect Background Page
以查看节点进程开发工具的控制台日志错误。
或者,您可以在全局window
object 上公开您的 function。
window.foo = function () {
alert('It works');
};
您可以通过将代码放入回调 function 来等待应用 Window 加载。
nw.Window.open('index.html', {}, function (win) {
win.evalNWBin(null, 'binary.bin');
win.window.foo();
});
那么你不需要“得到”window,你已经拥有了。 您可以访问其全局window
object 以访问存储在其上的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.