2 votes

Ajouter un bouton qui appelle une fonction Content script au clic ?

J'ai le code suivant dans le content.js de l'extension Google Chrome :

jQuery(document).ready(function () {
    jQuery("body").html('<input type="button" id="soso" value="asd" onclick="goFrame()" />');
});
function goFrame() {
    alert('Value');
}

Le bouton est créé avec succès, mais lorsque je clique dessus, le message n'apparaît pas et j'obtiens l'erreur suivante dans la console de Google Chrome :

Uncaught ReferenceError : goFrame n'est pas défini

4voto

Rob W Points 125904

Première lecture Code de l'extension Chrome vs Contenu scripts vs Injecté scripts. .

Pour résoudre le problème, il faut se débarrasser de l'écouteur d'événement en ligne et lier l'événement dynamiquement :

    ...
    var $input = $('<input type="button" id="soso" value="asd">').click(goFrame);
    jQuery("body").html($input);
});
function goFrame() {
    alert('Value');
}

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