Beim Einfügen von Inhaltsskripten mithilfe von chrome.tabs.executeScript(tab.id, {file: „content.js“}), gibt es keine direkte Möglichkeit, Parameter an das Skript zu übergeben. Sie können diese Funktionalität jedoch mit zwei alternativen Methoden implementieren:
Um Variablen vor der Ausführung des Inhaltsskripts zu definieren, verschachteln Sie chrome.tabs.executeScript-Aufrufe wie unten gezeigt:
chrome.tabs.executeScript(tab.id, { code: 'var config = 1;' }, function() { chrome.tabs.executeScript(tab.id, {file: 'content.js'}); });
Verwenden Sie für komplexe Variablen JSON.stringify, um ein Objekt in einen String zu konvertieren:
var config = {somebigobject: 'complicated value'}; chrome.tabs.executeScript(tab.id, { code: 'var config = ' + JSON.stringify(config) }, function() { chrome.tabs.executeScript(tab.id, {file: 'content.js'}); });
Greifen Sie in content.js mit warning('Example:' config); auf die Variablen zu. .
Um Parameter nach der Ausführung festzulegen, verwenden Sie die Nachrichtenübermittlungs-API:
chrome.tabs.executeScript(tab.id, {file: 'content.js'}, function() { chrome.tabs.sendMessage(tab.id, 'whatever value; String, object, whatever'); });
In content.js mit chrome.runtime auf Nachrichten warten .onMessage.addListener(function(message, sender, sendResponse) { // Nachricht verarbeiten });. Die Nachricht enthält den Parameterwert.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter an eingefügte Inhaltsskripte in Chrome-Erweiterungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!