Heim  >  Artikel  >  Web-Frontend  >  Wie greife ich über das Inhaltsskript von Gmail in einer Chrome-Erweiterung auf globale Variablen zu?

Wie greife ich über das Inhaltsskript von Gmail in einer Chrome-Erweiterung auf globale Variablen zu?

DDD
DDDOriginal
2024-10-25 16:46:02786Durchsuche

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

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn