Как встроить веб-браузер в веб-приложение, созданное на node.js?

В настоящее время у меня есть веб-приложение, созданное на node.js. Одна из функций этого приложения - делать заметки. Я хочу предоставить пользователю возможность просматривать Интернет и выбирать текст для добавления в качестве заметки в нашем веб-приложении без необходимости вручную копировать вставку из одного окна браузера в наше приложение.

Я знаю, что могу сделать это относительно просто, используя расширение Chrome, которое будет связано с учетной записью пользователя и сохранит заметку в базе данных. Однако я не могу использовать этот подход, поскольку не все мои пользователи могут установить Google Chrome.

Поэтому я ищу способ просматривать веб-страницы из нашего веб-приложения. Например, это может быть iFrame, в котором отображается браузер complete. Таким образом, пользователь мог просматривать информацию в Интернете изнутри приложения, выбирать текст для сохранения и нажимать кнопку (возможно, расположенную за пределами браузера iFrame), чтобы сохранить выбранный текст как заметку в нашей базе данных.

Как я могу добиться этого в node.js?

Ваш вопрос непонятен. Вы имеете в виду, что у вас есть традиционное веб-приложение сервер-клиент, где клиентом является любой браузер, который пользователь хочет запустить, а сервер написан на Node.js?

Quentin 26.03.2018 17:16

Да, звучит правильно. И я хочу избежать ручного решения, когда пользователь открывает второй экземпляр браузера (новую вкладку или новое окно), чтобы скопировать и вставить текст в наше приложение. В идеале пользователю никогда не пришлось бы покидать наше приложение.

Emilie Picard-Cantin 26.03.2018 17:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
455
1

Ответы 1

Это, по сути, невозможно.

Чтобы получить какие-либо данные о сайте, который просматривал пользователь, вы можете:

  • Ограничьте их просмотр сайтов, желающих сотрудничать с вами, чтобы дать вам разрешение на доступ к их данным через postMessage (техническое изменение с их стороны для работы в рамках той же политики происхождения)
  • Прокси-сервер каждого запроса через ваш сервер, который:
    • Имеют большие требования к пропускной способности
    • Требуется много переписывать URL-адреса (в том числе динамически сгенерированные в JS)
    • Требовать переписывания заголовков X-Frames-Options и Access-Control-Allow-Origin
    • Нужны пользователи, которые будут доверять вам все данные, которые вы передаете через свою систему (включая свои пароли к сторонним сайтам)
    • Не работает для сайтов интрасети (так как ваш сервер не может связаться с ними)

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