#javascript #google-chrome #google-chrome-extension
#javascript #google-chrome #google-chrome-extension
Вопрос:
Интересно, может ли кто-нибудь изложить общую логику того, что я должен сделать, чтобы достичь следующего:
У меня есть расширение для Chrome, которое получает список закладок пользователя.
Когда пользователь посещает веб-страницу, информация, полученная расширением, доступна и отображается на веб-странице.
У меня уже есть расширение, интересно, как мне получить к нему доступ с веб-страницы?
Комментарии:
1. почему ? разве вы не можете просто использовать скрипт содержимого и помещать данные на страницу, когда пользователь посещает ее?
Ответ №1:
Для взаимодействия с веб-страницей вам нужен скрипт содержимого, который будет загружаться на этой странице. Затем вы можете использовать события для обмена данными. Сценарий содержимого может получать сообщения с вашей фоновой страницы и при необходимости пересылать их на веб-страницу.
Убедитесь, что вы внимательно относитесь к разделу «Соображения безопасности«. Вы делаете закладки пользователя доступными для веб-страницы, вы должны быть уверены, что эта веб-страница должна иметь к ним доступ.
Ответ №2:
Итак, если автор расширения написал расширение и изолировал свой код (это означает, что он / она сделал что-то, чтобы его переменные не попадали в глобальное пространство имен), тогда вы мало что сможете сделать. Так что … проверьте, не оставил ли авторего переменные доступны на уровне глобального пространства имен. Чтобы сделать это в Chrome, перейдите на страницу, откройте инструменты разработчика, перейдите в консоль и введите
console.log(window);
Это покажет вам глобальное пространство имен и должно показать вам, что вы ищете. Если вы видите что-то, что не похоже на традиционную переменную, объект или функцию, то это то, что вам следует исследовать. Я хотел бы дать вам более четкие шаги здесь, но вы, по сути, пытаетесь перехватить код из расширения, и такого рода вещи требуют много испытаний / исследований.
Если в глобальном пространстве имен нет ничего ненормального, это означает, что код изолирован, и вы находитесь в трудном положении. Вам будет сложно получить какие-либо переменные / значения / объекты из кода расширения.
Удачи.
Комментарии:
1. О, я думаю, я не смог объяснить.. Вопрос более простой. Я имею в виду — я на самом деле написал расширение, поэтому у меня есть полный контроль над ним. Теперь я хочу получить доступ к данным браузера, которые были получены расширением с веб-страницы.