sách gpt4 ai đã đi

node-main: Làm thế nào để truy cập bất kỳ cửa sổ nào trong nw.js(node-webkit)? node.js node-webkit

In lại 作者:太空宇宙 更新时间:2023-11-04 02:22:24 26 4
mua khóa gpt4 Nike

nếu nhưgói.json中的窗口A打开一个新窗口B,node-main如何访问它?这是我的代码:

gói.json

 {
"main": "index.html",
"name": "Hello NW.js",
"node-main": "nodemain.js",
"window": {
"toolbar": true
}
}

index.html

  



测试.js

var gui = require('nw.gui'); 
var win = gui.Window.get();
var testval = "window1"
var test = function()
{
alert(testval);
};
gui.Window.open ('index2.html', {});

index2.html






test2.js

var gui = require('nw.gui'); 
var win = gui.Window.get();

var testval = "window2";
var test = function()
{
alert(testval);
};

这是nodemain.js

setTimeout(function() {
var gui = window.require('nw.gui');
gui.Window.get().test();
}, 1000);

当我启动时,有一个警报窗口显示:window1。如何让调用index2.html中包含的test2.js中的函数,使警报窗口显示:window2?

1 Câu trả lời

từ nodemain.js 访问窗口对象的更好方法是,您应该在窗口加载时将窗口对象的引用保存在 nodemain.js 中。这是因为 node-main 脚本首先启动,然后窗口打开。

因此,在 test.js 中,您可以调用 Node 进程并使用 process.mainModule 将窗口引用保存在 Node 上下文中。 exports

在你的nodemain.js

var windowMap = {}; //map that will store window references

// exporting this function to access it from process.mainmodule.exports
exports.saveWindow = function(name, winObj){
windowMap[name] = winObj;
};

setTimeout(function() {
windowMap['win1'].test();
windowMap['win2'].test();
}, 1000);

Trong của bạn test.js 中,您将保存 Window通过从 Node 调用 saveWindow 方法来引用 Node 上下文。此外,您还将在 Window 对象中保存测试函数的引用。

在 test.js 中

var gui = require('nw.gui');
var win = gui.Window.get();

var testval = "window1";
win.test = function()
{
alert(testval);
};

var win2 = gui.Window.open ('index2.html', {});

// calling saveWindow from node context
process.mainModule.exports.saveWindow('win1', win);
process.mainModule.exports.saveWindow('win2', win2);

在 test2.js 中

var gui = require('nw.gui');
var win = gui.Window.get();

var testval = "window2";
win.test = function()
{
alert(testval);
};

当nodemain.js setTimeout 调用时,它将拥有 Window 对象,并将成功调用绑定(bind)到 Window 对象的测试方法。

关于node.js - 在nw.js(node-webkit)中,node-main : node. js如何访问任何窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32551937/

26 4 0
Bài viết được đề xuất: node.js - 在 NodeJS Mongoose 中推送数组 JSON
Bài viết được đề xuất: python - 使用 pandas 函数合并 2 行
Bài viết được đề xuất: python - Pandas 聚集在所有列上
Bài viết được đề xuất: node.js - Windows 64 上的命令提示符下无法识别 compass 命令
太空宇宙
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Các bài viết nóng hổi trên toàn bộ trang web
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com