gpt4 book ai didi

javascript - 在 Firefox 扩展中嵌入 node.js 并在浏览器中运行服务器

转载 作者:数据小太阳 更新时间:2023-10-29 05:33:32 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何将 node.js 嵌入到 Firefox 扩展中,这样我就可以从浏览器中运行持久服务器进程(特别是 PeerServer ),只要用户启用了扩展。我唯一能在网上找到的是 this guide ...但我无法使这些说明起作用,需要找到更多资源。

1) 除了我上面链接到的关于在 Firefox 扩展中嵌入 node.js 的文章之外,还有其他资源吗?有代码示例吗?

2) 是否有某些原因导致无法从 Firefox 扩展中运行诸如 PeerServer 之类的持久服务器进程?扩展是否存在某种限制,使我无法做到这一点?

最佳答案

您可以只将可执行文件放在扩展的文件夹中,并在扩展中使用 JS 代码启动该可执行文件。在您链接的资源或 here at MDN 中描述了运行外部可执行文件.

从 MDN 复制的示例:

var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsIFile);
file.initWithPath("myapp.exe");

var process = Components.classes["@mozilla.org/process/util;1"]
.createInstance(Components.interfaces.nsIProcess);
process.init(file);

var args = ["argument1", "argument2"];
process.run(false, args, args.length);

需要更多的逻辑来找到用户配置文件的绝对路径,以推导应用程序的启动路径,但这是可行的。

现在,如果您想与扩展中的 Node 交互,您可以使用 HTTP 请求作为通信方式。

虽然 Firefox 本身的核心是 JS 引擎,但在 Firefox 中嵌入 Node 听起来有点奇怪。一种更优雅的方法是尝试让 PeerJS 直接在 Firefox 插件上下文中运行,而无需 Node 。也许更复杂,但应该是可能的。例如,参见此插件“Browser Server”。

关于javascript - 在 Firefox 扩展中嵌入 node.js 并在浏览器中运行服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21291617/

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