Maison > interface Web > js tutoriel > Pourquoi ma fonction onclick en ligne ne fonctionne-t-elle pas dans une extension Chrome/Firefox ?

Pourquoi ma fonction onclick en ligne ne fonctionne-t-elle pas dans une extension Chrome/Firefox ?

DDD
Libérer: 2024-12-28 10:09:15
original
244 Les gens l'ont consulté

Why Doesn't My Inline onclick Function Work in a Chrome/Firefox Extension?

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;
}
Copier après la connexion
<!doctype html>
<html>
  <head>
    <title>Getting Started Extension's Popup</title>
    <script src="popup.js"></script>
  </head>
  <body>
    <div>
Copier après la connexion

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

Assurez-vous que le popup .js Chargé en tant que fichier de script séparé :

<script src="popup.js"></script>
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal