문제

그래서 Greasemonkey와 JQuery 1.2.6이 문제없이 함께 작동하도록 할 수 있었지만 이제 Eric Martin의 Simplemodal 플러그인과 같은 Greasemonkey 스크립트에 추가 jQuery 플러그인을 내리는 방법이 궁금합니다.http://www.ericmmartin.com/projects/simplemodal/).

다음 코드는 jQuery가로드되지만 Simplemodal을 올바르게로드하는 방법을 잘 모르겠습니다.

    var GM_JQ = document.createElement('script');
    GM_JQ.src = 'http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js';
    GM_JQ.type = 'text/javascript';
    document.getElementsByTagName('head')[0].appendChild(GM_JQ);

    var GM_JQ_SM = document.createElement('script');
    GM_JQ_SM.src = 'http://simplemodal.googlecode.com/files/jquery.simplemodal-1.2.2.min.js';
    GM_JQ_SM.type = 'text/javascript';
    document.getElementsByTagName('head')[0].appendChild(GM_JQ_SM);

    // Check if jQuery's loaded
    function GM_wait() {
        if(typeof unsafeWindow.jQuery == 'undefined') { 
            window.setTimeout(GM_wait,100); 
        }
        else { 
            $ = unsafeWindow.jQuery; 
        }

    }
    GM_wait();

누구든지 아이디어가 있습니까? 감사.

도움이 되었습니까?

해결책

첫째, Firebug 디버깅에 액세스하지 않으면 jQuery를 포함시키는 가장 쉬운 방법은 필요한 설정을 사용하는 것입니다.

// @require        http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js
// @require        http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.2/jquery-ui.min.js 

이 라인을 따라 다른 외부 스크립트를 포함 할 수 있습니다. 대부분의 jQuery 플러그인은 jQuery API와 같이 사용할 수 없지만 직접 호스팅 할 수 있습니다.

요구 사항을 사용하여 모든 로딩 코드를 덤프하고 간단히 다음과 같이 이동할 수 있습니다.

$(document).ready( function() { ... });

Firebug는 버그를보고하지만 디버거로 들어갈 수는 없습니다.

또한 jQuery를로드 한 후에는 다른 항목을 좋아합니다.

$('head').append("<link href='http://www.somewebsite.com/styles.css' type='text/css' rel='stylesheet'>"); 

다른 팁

또한 GreasemonkeyWiki 페이지를 확인하십시오 Greasemonkey 스크립트에서 jQuery 사용 그리고 @Require 블록.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top