2010-02-04 5 views
4

greasemonkey에 jquery를 가져 오는 것에 대한 많은 블로그 게시물과 여기에서 질문을 보았지만 아무 것도 할 수 없습니다.Greasemonkey Javascript 스크립트에서 jQuery는 어떻게 사용합니까?

여기 내 스크립트입니다 : 내가 페이지를 새로 고침 할 때 경고를 볼 수 바라고 있어요

// ==UserScript== 
// @name   Hello jQuery 
// @namespace  http://foo.bar 
// @description jQuery test script 
// @include  * 
// ==/UserScript== 

#{contents of jquery.latest.js pasted in} 

unsafeWindow.jQuery = jQuery; 

$(document).ready(function() { 
    alert('Hello world!'); 
}); 

, 그래서 뭔가 프로그래밍을 실제로 시작할 수 있습니다. 나는 다른 것들을 시도하고 지금까지 아무것도 작동하지 않습니다. 스크립트 부분은 이제 다음과 같습니다 : 스크립트는

편집 ... 작은 원숭이 메뉴에서 활성화가 작동하지 않습니다

foo(); 

function foo() { 
    $ = unsafeWindow.jQuery; 
    $('tr td.row2:nth-child(4)').css("background-color", "#999"); 
} 

. 내가 greasemonkey 외부에서 실행할 수 있기 때문에 jQuery가 좋다는 것을 안다. jQuery 함수 대신 alert ('hello'); 그건 잘 작동합니다. 페이지로드시 경고 메시지가 나타납니다.

답변

4

글쎄, 우선, 나는 붙여 넣기 jQuery로 붙여 넣지 않을 것입니다. @require Greasemonkey 지시문을 사용하십시오 (스크립트 헤더에 있어야 함).

// @require  http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js 

또한 jQuery 할당을 거쳐야합니다. 그것은 다음과 같아야합니다 :

function foo() { 
    $ = unsafeWindow.jQuery; 
    // or jq = unsafeWindow.jQuery, or whatever you'd like to call it 

    ... 
} 

이것은 일반적으로 my scripts에서하는 것입니다.

+2

@require를 사용하는 것이 올바른 방법입니다 (Greasemonkey의 최신 버전이 있는지 반드시 확인하십시오. 또한 유의할 점은 greasemonkey 스크립트를 설치했을 때 @require 문자열이 있어야한다는 것입니다. @require 작업을 추가하기 위해 설치된 greasemonkey 스크립트를 편집하면 작동하지 않습니다. 따라서 스크립트가 이미 설치되어있는 경우 다시 설치하기 전에 스크립트를 제거하고 @require 부분을 추가하십시오. 다시 설치하지 않고도 나머지 스크립트를 정상적으로 편집 할 수 있습니다. –

+0

스크립트 중 하나에서 거꾸로 작업하면 나에게 다가갑니다. @require를 사용하여 jquery를 scripts 디렉토리로 wget합니다. – tladuke

+0

greasemonkey 로딩 코드를 html 파일에 넣고 데스크탑이나 웹 서버에 저장하고 거기에서 설치할 수 있습니다. – Jayrox

0

jQuery를 사용하여 가져온 주소가 @require인데 unsafeWindow가 아닌 ​​창에있는 것으로 보입니다.

+0

jquery 1.8.1과 tampermonkey (chrome)를 사용하고 있는데 unsafeWindow를 사용해야합니다. –