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.
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