node.js - NodeJS : Opening new tab instead of default user browser

标签 node.js npm node-modules default-browser

我正在使用第三方代码(npm 包),它使用 opn(另一个 npm 包)在授权期间打开默认用户浏览器。相反,我想通过向前端发送某种请求来在现有浏览器中打开一个新选项卡。由于我不想重写/复制所有第三方代码以实际仅更改其中的一行,因此您有任何想法如何以其他方式实现这一目标吗?

  1. 是否可以检测打开浏览器等操作并将请求发送到前端?我知道 opn 会产生 Node 子进程。
  2. 你知道我是否可以以某种方式有效地更改第三方代码文件之一,以便此包中的其他文件将使用我的代码?我可以在 node_modules 内编辑代码来满足我的要求,并且永远不会更新此 npm 包,但这听起来是一个糟糕的主意。

最佳答案

如果您想打开新标签页,您应该使用 Chrome DevTools 协议(protocol)。

您可以在这里阅读更多内容 https://github.com/cyrus-and/chrome-remote-interface

我猜你无法捕获“打开浏览器”事件。但应该可以通过“chrome-remote-interface”npm 包定期询问浏览器。

关于node.js - NodeJS : Opening new tab instead of default user browser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52314419/

相关文章:

node.js - $ babel 和 $ babel-node 不启动 REPL

node.js - Nodejs Pkg - 如何使用外部配置文件?

javascript - 如何使用回调将 cucumber 测试标记为 Node 中的待处理

javascript - 在 JS 中组合多个 debounce Promise

node.js - 将 Node 从 6 升级到最新版本时,npm i 在 React Native 项目中因 ENOENT 而失败

node.js - 无法正式安装 "Cannot read property ' 种'未定义'

javascript - Nodejs 模块导出困惑

javascript - Vue.js : "Invalid or unexpected token" when using webpack. DefinePlugin()

javascript - 从 package.json 配置 npm cli 标志

javascript - 带 Webpack 的 Bootstrap Touch Carousel