2009-06-12 9 views
1

jQueryの:nth-​​childセレクタがGreaseMonkey 0.8の中で動作しないと思います。 (これをテストするための最下位のGMスクリプトです) これはなぜですか? これはGreaseMonkeyの内部で働くことで知られている制限ですか? 誰もこれを回避する方法をお勧めしますか?jQueryの「nth-child」セレクタがGreaseMonkey(0.8)の内部で動作しないのはなぜですか?

また、なぜそれが一部(間違いなくすべてではない)jQueryのクエリはのGreaseMonkey内部遅く多くを実行し、私は今の迅速なベンチマークテストを持っていないが、私は私があったように、多くの場合、それを気づいたということです建物a pretty complex GM script that relied heavily in GM。私はGMの外で自分のコードをFirebugで動かすだろう。そして、GMの中ではブラウザが無理矢理動かされたのだが、物事はうまくいくだろう。私はそれがあいまいだと知っていますが、なぜGMやjQueryにアーキテクチャ上の理由があるのでしょうか。

ありがとうございます!

// ==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) 
}); 

答えて

1

これは、GreaseMonkeyがセキュリティのためにXPCNativeWrapperをどのように使用するかに関連している可能性があります。彼らは間違いなくオーバーヘッドを追加し、JQueryにぶつかる可能性があります。

関連する問題