2009-06-12 3 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 코드를 실행하고, 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에 부딪 힐 수도 있습니다.