gpt4 book ai didi

node.js - 使用 Node js + App JS + Node-Serial 访问 dom

转载 作者:太空宇宙 更新时间:2023-11-04 01:12:38 25 4
gpt4 key购买 nike

我有一个运行良好的 appjs 应用程序。我基本上试图从事件的加载页面中调用现有的 javascript 函数。或者访问事件的页面元素。我正在将 Node 串行库与霍尼韦尔条形码扫描仪一起使用。我可以很好地访问串行端口,我可以很好地获取扫描数据:

serialPort.on('data', function(data) { ... });

如上所述,我想要做的是在页面上调用 javascript 函数,即

window.document.body.scan(data);

或者至少访问数据并能够使用 Node 调用/发出http请求,我也能做得很好。当我在

中运行这些东西时
window.on('ready', function(){ ... });

我能够正常访问页面上的元素。即

var $ = window.$;
$("#message").html('Something...');

但是如果我尝试在serialPort.on数据函数中运行完全相同的代码,我会得到类似的错误

        $('#message').html('Please wait...');
^
TypeError: object is not a function...

甚至 $("#message").html 表明“html”不是一个函数。但如果我在 window.on 就绪函数上运行它,它就可以工作。我很迷茫,因为 appjs 的文档很少。谢谢!

最佳答案

serialPort.on('data',function(){ ... });代码正在 AppJS 中运行,因此要访问需要使用 Window 变量的窗口,请尝试将代码更改为:

window.$('#message').html('Please wait...');

为了能够调用自定义函数(称为 scan),请在 window.on('ready', function(){ ... }); 中执行以下操作:

window.scan = function() {
//code to connect to the scanner here.
console.log("scan run");
}

然后在 html 页面上某个按钮之类的地方,您就可以调用该函数:

 <body>
<button onclick="window.scan();">Scan Now!</button>
</body>

关于node.js - 使用 Node js + App JS + Node-Serial 访问 dom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15031221/

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