clearInterval() n'est pas l'arrêt de setInterval() - Extension de Firefox Développement

Je suis en train de travailler sur une modification de falsifier les données qui va me permettre d'envoyer la requête HTTP/réponses qu'il observe à un serveur. Jusqu'à présent, cette fonctionnalité a été mise en œuvre correctement. La prochaine étape est d'automatiser ce processus, et je souhaite utiliser une toolbarmenu bouton de type "case à cocher" pour basculer cette fonctionnalité sur et en dehors.

Pour l'instant j'ai ce bout de code dans le .XUL:

<toolbarbutton id="tamper.autosend" label="&tamper.toolbar.autosend;" type="checkbox" oncommand="oTamper.toggleTimer();"/>

Et cette fonction dans le principal moteur de mon poste:

toggleTimer : function() {
 var checked = document.getElementById('tamper.autosend').checked;

 var consoleService = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleService);

 consoleService.logStringMessage(checked);

 if (checked) {
        var interval = window.setInterval(function(thisObj) { thisObj.sendResults(true); }, 1000, this);
 }

 else {
        window.clearInterval(interval);
 }
}

À l'aide de la consoleService je vois que la valeur de "vérifié" est tout à fait correct. Je crois que le problème vient de la façon dont je suis l'appel de la fonction clearInterval, mais je ne suis pas exactement sûr de savoir comment y remédier.

Toute aide est grandement appréciée!

OriginalL'auteur Kotsu | 2011-06-14