Maison > interface Web > js tutoriel > Comment transmettre des paramètres aux scripts de contenu injectés dans les extensions Chrome ?

Comment transmettre des paramètres aux scripts de contenu injectés dans les extensions Chrome ?

Mary-Kate Olsen
Libérer: 2024-10-28 07:19:30
original
713 Les gens l'ont consulté

How to Pass Parameters to Injected Content Scripts in Chrome Extensions?

Passer des paramètres aux scripts de contenu injectés à l'aide de chrome.tabs.executeScript()

Lors de l'injection de scripts de contenu à l'aide de chrome.tabs.executeScript(tab.id, {file: "content.js"}), il n'existe aucun moyen direct de transmettre des paramètres au script. Cependant, vous pouvez implémenter cette fonctionnalité en utilisant deux méthodes alternatives :

Définition des paramètres avant l'exécution

Pour définir des variables avant d'exécuter le script de contenu, imbriquez les appels chrome.tabs.executeScript comme indiqué ci-dessous :

chrome.tabs.executeScript(tab.id, {
    code: 'var config = 1;'
}, function() {
    chrome.tabs.executeScript(tab.id, {file: 'content.js'});
});
Copier après la connexion

Pour les variables complexes, utilisez JSON.stringify pour convertir un objet en chaîne :

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'});
});
Copier après la connexion

Dans content.js, accédez aux variables en utilisant alert('Example:' config); .

Définition des paramètres après l'exécution

Pour définir les paramètres après l'exécution, utilisez l'API de transmission de messages :

chrome.tabs.executeScript(tab.id, {file: 'content.js'}, function() {
    chrome.tabs.sendMessage(tab.id, 'whatever value; String, object, whatever');
});
Copier après la connexion

Dans content.js, écoutez les messages à l'aide de chrome.runtime .onMessage.addListener(function(message, sender, sendResponse) { // Gérer le message });. Le message contiendra la valeur du paramètre.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal