La création d'extensions Chrome peut vous donner la possibilité de modifier le comportement des pages Web. L'un de ces besoins est de récupérer les variables globales de la page, comme la variable GLOBALS dans les messages Gmail.
Malheureusement, les scripts de contenu s'exécutent dans un environnement isolé, empêchant l'accès direct au contenu de la page. propriétés de fenêtre comme GLOBALS. La fonction .load() de jQuery ne parvient pas à le récupérer, ce qui entraîne des ReferenceErrors. Cela se produit malgré la possibilité d'accéder à GLOBALS via la console des outils de développement.
Pour combler ce fossé de communication, vous pouvez utiliser l'une des deux méthodes suivantes :
1. Injection de script :
Injectez un nouvel élément de script dans le contexte de la page. Ce script peut récupérer les données souhaitées et les renvoyer au script de contenu.
2. Écouteurs d'événements :
Utilisez des écouteurs d'événements pour transmettre des données entre la page et le script de contenu. Le script de contenu peut écouter les événements personnalisés déclenchés par le script de page avec les informations souhaitées.
Script de contenu (run_at : "document_end") :
<code class="js">var s = document.createElement('script'); s.src = chrome.extension.getURL('script.js'); (document.head || document.documentElement).appendChild(s); s.onload = function() { s.remove(); };</code>
Script.js (script injecté) :
<code class="js">setTimeout(function() { document.dispatchEvent(new CustomEvent('RW759_connectExtension', { detail: GLOBALS })); }, 0);</code>
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!