9 votes

Extension Chrome : Comment supprimer le script de contenu après l'injection ?

Avec une extension Google Chrome : Est-il possible de supprimer un contenu de script après qu'il ait déjà été injecté dans la page?

Il n'y a pas de méthodes API pour recharger les scripts de contenu (autant que je sache), donc j'aimerais réinjecter le script et supprimer l'ancien, si possible.

10voto

kzahel Points 856

Non. Vous ne pouvez pas le "supprimer". Exécuter un script de contenu peut avoir des effets secondaires, comme la déclaration de variables et de fonctions sur l'objet window, la connexion à la page d'arrière-plan, ou l'écoute d'événements du DOM. Si votre script de contenu n'a pas d'effets secondaires, il est identique à ne pas être injecté du tout.

Si vous voulez le réinjecter, appelez simplement executeScript avec un paramètre code ou source. Il peut être pratique de simplement définir vos scripts injectés comme des fonctions, puis d'appeler .toString() sur les fonctions, et de les injecter en tant que chaînes brutes avec l'argument "code" dans executeScript. Les arguments de ces fonctions peuvent être insérés sous forme de chaînes JSON, ce qui est encore plus pratique.

2voto

ejectamenta Points 46

Je suppose que si vous chargez dynamiquement les scripts de contenu, il est possible de forcer le rafraîchissement d'une page en utilisant du javascript (window.location.reload()) sans charger cette fois les scripts de contenu

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X