2009-06-12 8 views
1

Je crois que le sélecteur n-child de jQuery's ne fonctionne pas dans GreaseMonkey 0.8. (En bas se trouve un script GM rapide pour tester ceci.) Pourquoi est-ce? Est-ce une limitation connue de travailler à l'intérieur de GreaseMonkey? Quelqu'un peut-il recommander un moyen de contourner cela?Pourquoi le sélecteur jQuery 'nth-child' ne fonctionne-t-il pas dans GreaseMonkey (0.8)?

Aussi, pourquoi est-ce que certains (certainement pas tous) les requêtes jQuery exécuter beaucoup plus lent à l'intérieur Greasemonkey, je n'ai pas un test de référence rapide en ce moment, mais je l'ai remarqué souvent que j'étais bâtiment a pretty complex GM script that relied heavily in GM. J'exécuterais mon code en dehors de GM, dans Firebug, et les choses seraient rapides, tandis qu'à l'intérieur de GM, le navigateur serait mis à genoux. Je sais que c'est vague mais je me demandais s'il y avait de grandes raisons architecturales dans GM ou jQuery pourquoi ce serait le cas.

Merci!

// ==UserScript== 
// @name   Test of nth-child 
// @namespace  http://elzr.com 
// @description nth-child doesn't work in jQuery within GreaseMonkey 
// @include  http://en.wikipedia.org/* 
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js 
// @author  Eliazar Parra elzr.com 
// ==/UserScript== 
// 
// For detailed info and screenshots see http://elzr.com/posts/wikipedia-backbars 

$(document).ready(function() { 
    console.log($('a:nth-child(1)').length) 
}); 

Répondre

1

Ceci peut être lié à la façon dont GreaseMonkey utilise XPCNativeWrapper s pour la sécurité. Ils ajoutent définitivement des frais généraux, et pourraient se heurter contre JQuery.