2010-04-11 6 views
1

greasemonkey 스크립트를 작성하고 있습니다. 사이트 jquery를 사용하여, 나는 최신 버전의 기능이 필요합니다. 내 GM 스크립트에 내가 가지고코드에서 jquery의 복사본 두 개를 어떻게 사용합니까?

// @require  http://ajax.microsoft.com/ajax/jQuery/jquery-1.3.2.min.js 
... 
var $ = unsafeWindow.jQuery; 

그러나 alert ($(). jquery)를 사용한 후; 나는 그것이 아직도 구식 인 것을 본다. 코드로 어떻게 새로운 버전을 얻을 수 있습니까?

답변

1

unsafeWindow.jQuery을 사용하면 사이트의 jQuery를 얻게됩니다. 재 할당하지 않고 $을 사용하면 Greasemonkey가 다운로드 한 jQuery를 받게됩니다. 따라서 $을 할당하는 줄을 제거하십시오.

스크립트를 제거했다가 다시 설치하십시오. @require 행을 편집하면 스크립트가 다시 설치 될 때까지 적용되지 않습니다.

+0

내 폴더에 새 버전이 표시됩니다. 그러나 사이트에 이미 jquery가 있기 때문에 적용되지 않습니다. –

+0

@ acidzombie24 : 아, 질문을 잘못 읽었습니다. 잘하면 더 나은 답변으로 업데이트되었습니다. – interjay

+0

require를 사용하면 unsafeWindow.jQuery를 사용하지 않았을 때 다른 스크립트 중 하나가 작동하지 않는다고 맹세 할 수 있습니다. 기묘한. 받아 들였다. –

1

당신은 noConflict 옵션을 사용할 수 있습니다, 아래의 샘플 코드 :

<script type="text/javascript"> 
    // get a reference to the old one 
    var jq132 = jQuery; 
    // free up the $ alias (it becomes version 1.4.2 
    jQuery.noConflict(); 

    // create a new alias for the 1.4.2 version 
    var jq142 = $; 
    // restore the 1.3.2 version to the $ alias 
    $ = jq132; 
</script> 

당신은 당신이 호출하여 $와 jQuery를 이름을 모두 확보 할 수있는 모든 1.3.2 버전을 원하지 않는 경우 :

jQuery.noConflict(true); 
관련 문제