gpt4 book ai didi

javascript - 从 Node Webkit 填写表单数据

转载 作者:行者123 更新时间:2023-12-03 11:35:12 25 4
gpt4 key购买 nike

请原谅我的无知。我刚刚学习如何使用 Node WebKit,想知道如何通过菜单项填写表单数据。我正在使用下面的代码并使用“填充”菜单项填写表单数据。但是它报告 var elem = document.getElementById("username");返回空值。有什么想法吗?

var gui = require('nw.gui');
var file = require('file.js');
var menu = new gui.Menu({ type: 'menubar' });

menu.append(new gui.MenuItem({
label: 'File',
submenu: new gui.Menu()
}));

menu.items[0].submenu.append(new gui.MenuItem({
label: 'New',
click: function () {
gui.Window.open('index.html');
}
}));
menu.items[0].submenu.append(new gui.MenuItem({
label: 'fill',
click: function() {
var elem = document.getElementById("username");
elem.value = "myusername";
}
}));

gui.Window.get().menu = menu;

我正在测试的 HTML 只是一个带有一个输入的 html 文档

<input type="text" id="username">

这是我得到的错误

Uncaught node.js Error 

TypeError: Cannot set property 'value' of null
at MenuItem.menu.items.(anonymous function).submenu.append.gui.MenuItem.click (file:///C:/nodewebkit/js/main.js:22:13)
at MenuItem.handleEvent (menuitem.js:171:12)
at IDWeakMap.global.__nwObjectsRegistry.handleEvent (node.js:795:26)

更新:我不知道这是否相关,但我注意到的一件事是,当我尝试在控制台中执行此操作时,执行时会出现“未定义”

 var elem = document.getElementById("username");

但是当我进入时

elem = document.getElementById("username");

它返回元素就好了。然而,在脚本中进行更改仍然给我带来同样的问题。

最佳答案

我也遇到了同样的问题。奇怪的是,使用 jquery 帮助我解决了这个问题。我有一个 html 页面,其中包含 id 为“close”的图像标签。如果我尝试按原样使用 document.getElementById('close') ,它总是返回 null。所以我把它包装在 jquery 中,如下所示:

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


$(function(){
var close = document.getElementById('close');
close.onclick = function(){
win.close();
};
});

它立即开始工作。非常困惑为什么 nwjs 会这样。

关于javascript - 从 Node Webkit 填写表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26548831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com