Maison >interface Web >js tutoriel >Pourquoi ma fonction onclick en ligne ne fonctionne-t-elle pas dans une extension Chrome/Firefox ?
le script onclick ou en ligne dans l'extension ne fonctionne pas
Problème :
dans l'extension, la fonction onClick ne parvient pas à remplir la fonction prévue, bien que dans les navigateurs standards, elle fonctionne correctement.
Exemple de code :
function hellYeah(text) { document.getElementById("text-holder").innerHTML = text; }
<!doctype html> <html> <head> <title>Getting Started Extension's Popup</title> <script src="popup.js"></script> </head> <body> <div>
Lorsque l'utilisateur clique sur "hyhy", "ha" doit être remplacé par "xxx", mais dans l'extension, il ça ne marche pas.
Réponse :
Les extensions Chrome et Firefox WebExtensions n'autorisent pas le JavaScript en ligne. Par conséquent, vous devez utiliser d’autres méthodes pour lier les événements.
Une solution consiste à attribuer un identifiant au lien (par exemple, ) et à lier l'événement à l'aide de addEventListener dans le fichier popup.js :
document.addEventListener('DOMContentLoaded', function() { var link = document.getElementById('link'); // 点击逻辑如下: link.addEventListener('click', function() { hellYeah('xxx'); }); });
Assurez-vous que le popup .js Chargé en tant que fichier de script séparé :
<script src="popup.js"></script>
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!