Maison >interface Web >js tutoriel >Pourquoi les événements de clic de mon extension Chrome ne se déclenchent-ils pas ?
Les événements de clic sur la fenêtre contextuelle de l'extension Chrome ne se déclenchent pas : résolution des violations de la politique de sécurité du contenu
La fenêtre contextuelle de votre extension Chrome ne répond pas aux clics sur les boutons, ce qui entrave le comportement prévu. Le coupable réside dans la politique de sécurité du contenu (CSP) par défaut appliquée par le navigateur.
Comprendre le problème
Pour déboguer le problème, cliquez avec le bouton droit sur le bouton contextuel. et sélectionnez "Inspecter la fenêtre contextuelle". Vous rencontrerez un message d'erreur indiquant qu'un script en ligne viole la directive CSP "script-src". Cela explique pourquoi l'événement de clic ne se déclenche pas.
Solution : séparation du code JavaScript
Pour résoudre le problème, déplacez tout le code JavaScript en ligne du fichier HTML vers un fichier séparé. Fichier JS. Cela respecte les exigences CSP en isolant les scripts du document HTML.
Code révisé :
hello.html (Popup Page)
<!DOCTYPE html> <html> <head> </head> <body> <p>
popup.js
var a = 0; function count() { a++; document.getElementById('demo').textContent = a; } document.getElementById('do-count').onclick = count;
Remarque : Remplacez innerHTML par textContent dans les cas où vous avez l'intention de modifier le texte. Bien que cela ne soit pas critique dans cet exemple, il est recommandé d'utiliser textContent pour une sécurité améliorée (atténuation XSS) dans les applications complexes.
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!