Script à attendre que la page se charge avant l'exécution de code des techniques?

Je suis en train d'écrire un script utilisateur Greasemonkey, et que vous voulez le code à exécuter lorsque la page est complètement chargé, puisqu'il revient à une div compter que je veux être affiché.

Le problème, c'est que cette page prend parfois un peu tout avant de charges.

J'ai essayé, document $(function() { }); et $(window).load(function(){ }); wrappers. Cependant, aucun ne semble fonctionner pour moi, même si j'ai peut-être l'application du tort.

Mieux que je puisse faire est d'utiliser un setTimeout(function() { }, 600); qui fonctionne, bien qu'il n'est pas toujours fiable.

Quelle est la meilleure technique à utiliser dans Greasemonkey pour s'assurer que le code s'exécute lors de chargement de la page terminé?

  • Vous pouvez utiliser (function init(){var counter = document.getElementById('id-of-element');if (counter) { /* do something with counter element */ } else { setTimeout(init, 0);}})(); à la permanence sondage pour l'existence de l'élément. C'est plus générique de la solution.
  • Greasemonkey cousins, Tampermonkey et Scriptish, le soutien de plusieurs @run-at les valeurs incluent document-idle et context-menu que l'on peut utiliser. Il apparaît également que Greasemonkey est ajouter pour document-idle même si elle n'a pas été documenté à ce jour.
  • ce qui a fonctionné pour moi, merci.
InformationsquelleAutor Myne Mai | 2012-10-15