NodeJS:打开新选项卡而不是默认用户浏览器

Posted

技术标签:

【中文标题】NodeJS:打开新选项卡而不是默认用户浏览器【英文标题】:NodeJS: Opening new tab instead of default user browser 【发布时间】:2018-09-13 13:06:52 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

如果你想打开一个新标签,你应该使用 Chrome DevTools 协议。

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

我猜你无法捕捉到“打开浏览器”事件。但是应该可以通过 'chrome-remote-interface' npm 包之类的方式定期询问浏览器。

【讨论】:

以上是关于NodeJS:打开新选项卡而不是默认用户浏览器的主要内容,如果未能解决你的问题,请参考以下文章

我想在新选项卡而不是同一选项卡中打开此路由器链接[重复]

如何在java脚本中打开Chrome中的新选项卡而不是新窗口

移动 Safari - Javascript 打开选项卡而不会失去对当前页面的关注

当用户关闭浏览器或选项卡而不注销时如何将用户标记为离线

如何在关闭特定选项卡而不是在 Angular 2 中关闭浏览器时清除本地存储?

会话在选项卡之间共享