«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как получить доступ к глобальным переменным из сценария содержимого Gmail в расширении Chrome?

Как получить доступ к глобальным переменным из сценария содержимого Gmail в расширении Chrome?

Опубликовано 13 ноября 2024 г.
Просматривать:110

How to Access Global Variables from Gmail\'s Content Script in a Chrome Extension?

Доступ к глобальным переменным в сценарии содержимого Gmail

Вы ищете решение для получения переменной GLOBALS с веб-страницы активного сообщения Gmail с помощью расширения Chrome .

Изоляция в контенте Скрипты

Скрипты содержимого выполняются в изолированной среде, предотвращая прямой доступ к глобальным переменным страницы.

Техники передачи сообщений

Чтобы преодолеть эту проблему изоляции, рассмотрите методы передачи сообщений:

Внедрение скрипта Элемент

Вставьте элемент сценария в DOM страницы, используя URL-адрес расширения:

var s = document.createElement('script');
s.src = chrome.extension.getURL('script.js');
(document.head||document.documentElement).appendChild(s);

Создание прослушивателей событий

Кроме того, установите прослушиватели событий для обмена данными:

document.addEventListener('RW759_connectExtension', function(e) {
    alert(e.detail); // Transfer data, e.g., GLOBALS
});

Инъекция Script.js

В "script.js" (добавлено в web_accessible_resources в манифесте):

setTimeout(function() {
    document.dispatchEvent(new CustomEvent('RW759_connectExtension', {
        detail: GLOBALS // Send GLOBALS to the extension
    }));
}, 0);

Преимущества передачи сообщений

Подходы к передаче сообщений допускают ограниченное использование логики расширения на веб-страницах и доступ к расширенным функциям Chrome API.

Вывод

Реализуя эти методы, вы можете эффективно получать доступ к глобальным переменным, таким как GLOBALS из сценария содержимого вашего расширения Chrome.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3