Heim >Web-Frontend >js-Tutorial >Wie übergebe ich Parameter an Inhaltsskripte in Chrome-Erweiterungen?

Wie übergebe ich Parameter an Inhaltsskripte in Chrome-Erweiterungen?

DDD
DDDOriginal
2024-10-28 12:47:02641Durchsuche

How to Pass Parameters to Content Scripts in Chrome Extensions?

Übergabe von Parametern an Inhaltsskripte mit chrome.tabs.executeScript()

Bei Verwendung von chrome.tabs.executeScript() zum Einfügen von Inhaltsskripten , kann es erforderlich sein, Parameter an das JavaScript innerhalb der Skriptdatei zu übergeben.

Methode 1: Parameter vor der Skriptausführung festlegen

Anstatt zu versuchen, Parameter direkt an zu übergeben Wenn Sie die Datei nicht verwenden, sollten Sie erwägen, vor der Ausführung der Zieldatei ein Inhaltsskript einzufügen. Mit dieser Methode können Sie Variablen im globalen Bereich festlegen, bevor die Datei geladen wird:

<code class="javascript">chrome.tabs.executeScript(tab.id, {
  code: 'var config = 1;'
}, function() {
  chrome.tabs.executeScript(tab.id, {file: 'content.js'});
});</code>

Methode 2: Parameter nach der Skriptausführung festlegen

Ein anderer Ansatz beinhaltet das Festlegen Parameter, nachdem die Skriptdatei mithilfe der Nachrichtenübermittlungs-API ausgeführt wurde:

<code class="javascript">chrome.tabs.executeScript(tab.id, {file: 'content.js'}, function() {
  chrome.tabs.sendMessage(tab.id, 'whatever value; String, object, whatever');
});</code>

Im Inhaltsskript (content.js) mit chrome.runtime.onMessage auf diese Nachrichten warten, was Ihnen die Verarbeitung von und ermöglicht Verwenden Sie den Parameter:

<code class="javascript">chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
  // Handle message.
  // In this example, message === 'whatever value; String, object, whatever'
});</code>

Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter an Inhaltsskripte in Chrome-Erweiterungen?. 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