Zugriff auf globale Variablen im Gmail-Inhaltsskript
Sie suchen nach einer Lösung, um die GLOBALS-Variable mithilfe einer Chrome-Erweiterung von der Webseite der aktiven Gmail-Nachricht abzurufen .
Isolierung in Inhaltsskripten
Inhaltsskripte werden in einer isolierten Umgebung ausgeführt und verhindern so den direkten Zugriff auf globale Variablen der Seite.
Message Passing Techniken
Um diese Isolation zu überwinden, sollten Sie Nachrichtenübermittlungstechniken in Betracht ziehen:
Einfügen eines Skriptelements
Einfügen eines Skriptelements in das DOM der Seite unter Verwendung der Erweiterungs-URL:
<code class="javascript">var s = document.createElement('script'); s.src = chrome.extension.getURL('script.js'); (document.head||document.documentElement).appendChild(s);</code>
Ereignis-Listener einrichten
Zusätzlich Ereignis-Listener für den Datenaustausch einrichten:
<code class="javascript">document.addEventListener('RW759_connectExtension', function(e) { alert(e.detail); // Transfer data, e.g., GLOBALS });</code>
Script.js-Injection
In „script.js“ (hinzugefügt zu web_accessible_resources im Manifest):
<code class="javascript">setTimeout(function() { document.dispatchEvent(new CustomEvent('RW759_connectExtension', { detail: GLOBALS // Send GLOBALS to the extension })); }, 0);</code>
Vorteile der Nachrichtenübermittlung
Message-Passing-Ansätze ermöglichen eine begrenzte Offenlegung der Erweiterungslogik auf Webseiten und Zugriff auf erweiterte Chrome-API-Funktionen.
Fazit
Durch die Implementierung dieser Techniken können Sie dies effektiv tun Greifen Sie über das Inhaltsskript Ihrer Chrome-Erweiterung auf globale Variablen wie GLOBALS zu.
Das obige ist der detaillierte Inhalt vonWie greife ich über das Inhaltsskript von Gmail in einer Chrome-Erweiterung auf globale Variablen zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!