Passer des paramètres aux scripts de contenu avec chrome.tabs.executeScript()
Lors de l'utilisation de chrome.tabs.executeScript() pour injecter des scripts de contenu , il peut être nécessaire de transmettre des paramètres au JavaScript dans le fichier de script.
Méthode 1 : définir les paramètres avant l'exécution du script
Au lieu d'essayer de transmettre les paramètres directement à le fichier, pensez à injecter un script de contenu avant d'exécuter le fichier cible. Cette méthode vous permet de définir des variables dans la portée globale avant le chargement du fichier :
<code class="javascript">chrome.tabs.executeScript(tab.id, { code: 'var config = 1;' }, function() { chrome.tabs.executeScript(tab.id, {file: 'content.js'}); });</code>
Méthode 2 : définir les paramètres après l'exécution du script
Une autre approche consiste à définir paramètres après l'exécution du fichier de script à l'aide de l'API de transmission de messages :
<code class="javascript">chrome.tabs.executeScript(tab.id, {file: 'content.js'}, function() { chrome.tabs.sendMessage(tab.id, 'whatever value; String, object, whatever'); });</code>
Dans le script de contenu (content.js), écoutez ces messages à l'aide de chrome.runtime.onMessage, qui vous permet de gérer et utiliser le paramètre :
<code class="javascript">chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) { // Handle message. // In this example, message === 'whatever value; String, object, whatever' });</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!