„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 13.11.2024
Durchsuche:759

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 .

Isolation in Inhaltsskripten

Inhaltsskripte werden in einer isolierten Umgebung ausgeführt und verhindern so den direkten Zugriff auf globale Seitenvariablen.

Nachrichtenübermittlung Techniken

Um diese Isolation zu überwinden, ziehen Sie Nachrichtenübermittlungstechniken in Betracht:

Injizieren eines Skriptelements

Injizieren Sie ein Skriptelement in das DOM der Seite unter Verwendung der Erweiterungs-URL:

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

Ereignis-Listener einrichten

Zusätzlich Ereignis-Listener für den Datenaustausch einrichten:

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

Script.js-Injection

In „script.js“ (zu web_accessible_resources im Manifest hinzugefügt):

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

Vorteile des Message Passing

Message Passing-Ansätze ermöglichen eine begrenzte Erweiterungslogik-Offenlegung auf Webseiten und Zugriff auf erweiterte Chrome API-Funktionen.

Fazit

Durch die Implementierung dieser Techniken können Sie über das Inhaltsskript Ihrer Chrome-Erweiterung effektiv auf globale Variablen wie GLOBALS zugreifen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3