NodeJS: открытие новой вкладки вместо браузера пользователя по умолчанию

Я работаю со сторонним кодом (пакет npm), который использует opn (другой пакет npm), чтобы открыть браузер пользователя по умолчанию во время авторизации. Вместо этого я хочу открыть новую вкладку в существующем браузере, отправив какой-то запрос внешнему интерфейсу. Поскольку я не хочу переписывать / копировать весь сторонний код, чтобы фактически изменить только одну строку внутри, у вас есть какие-либо идеи, как я могу добиться этого другим способом?

  1. Можно ли будет обнаружить действие, такое как открытие браузера, и вместо этого отправить запрос в веб-интерфейс? Я знаю, что opn порождает дочерний процесс узла.
  2. Вы знаете, смогу ли я как-нибудь эффективно изменить один из сторонних файлов кода, чтобы другие файлы из этого пакета использовали вместо этого мой код? Я мог бы редактировать код внутри node_modules, чтобы выполнить мои требования, и никогда не обновлять этот пакет npm, но это звучит как ужасная идея.

1 ответ

Если вы хотите открыть новую вкладку, вы должны использовать Chrome DevTools Protocol.

Вы можете прочитать больше здесь https://github.com/cyrus-and/chrome-remote-interface

Я думаю, вы не можете поймать событие "открыть браузер". Но у браузера должна быть возможность периодически запрашивать что-то вроде пакета npm 'chrome-remote-interface'.

Другие вопросы по тегам