Maison >interface Web >js tutoriel >Comment accéder aux variables globales à partir du script de contenu de Gmail dans une extension Chrome ?

Comment accéder aux variables globales à partir du script de contenu de Gmail dans une extension Chrome ?

DDD
DDDoriginal
2024-10-25 16:46:02894parcourir

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

Accès aux variables globales dans le script de contenu Gmail

Vous recherchez une solution pour récupérer la variable GLOBALS de la page Web du message Gmail actif à l'aide d'une extension Chrome .

Isolement dans les scripts de contenu

Les scripts de contenu s'exécutent dans un environnement isolé, empêchant l'accès direct aux variables globales de la page.

Transmission de messages Techniques

Pour surmonter cet isolement, pensez aux techniques de transmission de messages :

Injecter un élément de script

Injecter un élément de script dans le DOM de la page en utilisant l'URL d'extension :

<code class="javascript">var s = document.createElement('script');
s.src = chrome.extension.getURL('script.js');
(document.head||document.documentElement).appendChild(s);</code>

Établissement d'écouteurs d'événements

De plus, établissez des écouteurs d'événements pour l'échange de données :

<code class="javascript">document.addEventListener('RW759_connectExtension', function(e) {
    alert(e.detail); // Transfer data, e.g., GLOBALS
});</code>

Injection Script.js

Dans "script.js" (ajouté aux web_accessible_resources dans le manifeste) :

<code class="javascript">setTimeout(function() {
    document.dispatchEvent(new CustomEvent('RW759_connectExtension', {
        detail: GLOBALS // Send GLOBALS to the extension
    }));
}, 0);</code>

Avantages de la transmission de messages

Les approches de transmission de messages permettent une exposition limitée de la logique d'extension aux pages Web et un accès aux fonctions étendues de l'API Chrome.

Conclusion

En mettant en œuvre ces techniques, vous pouvez efficacement accédez aux variables globales telles que GLOBALS à partir du script de contenu de votre extension Chrome.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn