Доступ к расширению Chrome из веб-приложения

#javascript #google-chrome #google-chrome-extension

#javascript #google-chrome #google-chrome-extension

Вопрос:

Интересно, может ли кто-нибудь изложить общую логику того, что я должен сделать, чтобы достичь следующего:

У меня есть расширение для Chrome, которое получает список закладок пользователя.

Когда пользователь посещает веб-страницу, информация, полученная расширением, доступна и отображается на веб-странице.

У меня уже есть расширение, интересно, как мне получить к нему доступ с веб-страницы?

Комментарии:

1. почему ? разве вы не можете просто использовать скрипт содержимого и помещать данные на страницу, когда пользователь посещает ее?

Ответ №1:

Для взаимодействия с веб-страницей вам нужен скрипт содержимого, который будет загружаться на этой странице. Затем вы можете использовать события для обмена данными. Сценарий содержимого может получать сообщения с вашей фоновой страницы и при необходимости пересылать их на веб-страницу.

Убедитесь, что вы внимательно относитесь к разделу «Соображения безопасности«. Вы делаете закладки пользователя доступными для веб-страницы, вы должны быть уверены, что эта веб-страница должна иметь к ним доступ.

Ответ №2:

Итак, если автор расширения написал расширение и изолировал свой код (это означает, что он / она сделал что-то, чтобы его переменные не попадали в глобальное пространство имен), тогда вы мало что сможете сделать. Так что … проверьте, не оставил ли авторего переменные доступны на уровне глобального пространства имен. Чтобы сделать это в Chrome, перейдите на страницу, откройте инструменты разработчика, перейдите в консоль и введите

 console.log(window);
  

Это покажет вам глобальное пространство имен и должно показать вам, что вы ищете. Если вы видите что-то, что не похоже на традиционную переменную, объект или функцию, то это то, что вам следует исследовать. Я хотел бы дать вам более четкие шаги здесь, но вы, по сути, пытаетесь перехватить код из расширения, и такого рода вещи требуют много испытаний / исследований.

Если в глобальном пространстве имен нет ничего ненормального, это означает, что код изолирован, и вы находитесь в трудном положении. Вам будет сложно получить какие-либо переменные / значения / объекты из кода расширения.

Удачи.

Комментарии:

1. О, я думаю, я не смог объяснить.. Вопрос более простой. Я имею в виду — я на самом деле написал расширение, поэтому у меня есть полный контроль над ним. Теперь я хочу получить доступ к данным браузера, которые были получены расширением с веб-страницы.