質問

それで、GreasemonkeyとjQuery 1.2.6を問題なく連携させることができましたが、今ではEric MartinのSimpleModalプラグインなどの追加のjQueryプラグインをGreasemonkeyスクリプトに埋め込む方法を考えていますhref = "http://www.ericmmartin.com/projects/simplemodal/" rel = "noreferrer"> 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設定を使用することです:

// @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のように使用できませんが、自分でホストできます。

requireを使用すると、ロード中のすべてのコードをダンプして次のように実行することもできます。

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

Firebugはバグを報告しますが、デバッガーにステップインすることはできません。

さらに、jqueryを読み込んだら、他のアイテムを読み込むことができます:

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

他のヒント

GreaseMonkeyスクリプト内のGreaseMonkeyWikiページもチェックアウトし、 href = "http://wiki.greasespot.net/Metadata_block#.40require" rel = "nofollow noreferrer"> @ requireブロック。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top