27

私は Greasemonkey スクリプトを作成しようとしており、そのために jQuery ライブラリを使用したいと考えていますが、Web アドレスから jQuery を含めてローリングする方法がよくわかりません。

次のように jQuery (Google の Web サーバーから) をグリースモンキー スクリプトに含めるにはどうすればよいでしょうか

$(document).ready(function(){
  // Greasemonkey stuff here
});

このソースから取得したいと思います:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>

更新:助けてくれてありがとう、答えは非常に有益でした. ただし、GoogleFu をもう少し活用して、このソリューションに出会いました: http://joanpiedra.com/jquery/greasemonkey/

魅力のように機能します。ソースを Google のホストされているバージョンの jQuery に更新するだけで完了します。

4

4 に答える 4

49

最近のバージョンのグリースモンキーで推奨される方法は、@require コメント タグを使用することです。

例えば

// ==UserScript==
// @name          Hello jQuery
// @namespace     http://www.example.com/
// @description   jQuery test script
// @include       *
// @require       http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// ==/UserScript==

ただし... jQuery 1.4.1および1.4.2はこの方法と互換性がないことに注意してください

これを指摘してくれた Paul Tarjan に感謝します。jQuery フォーラム スレッドを参照してください。

これらの @require セマンティクスにも注意してください

ユーザー スクリプトがインストールされると、Greasemonkey はローカルにキャッシュされたリモート ファイルのコピーをダウンロードして保持します。このコピーはほぼ瞬時に読み取ることができます。キャッシュされたコピーは、インストールされたユーザー スクリプトと同じフォルダーに保持されます。リモート ファイルの変更は監視されません。

この回答を書いている時点では、この @require タグはインストール時にのみ読み取られることに注意してください。既存のユーザー スクリプトを編集してこのタグを追加しても、無視されます。変更を有効にするには、ユーザー スクリプトをアンインストールして再インストールする必要があります。

于 2009-04-24T10:21:06.933 に答える
6

スクリプト要素を動的に作成してみることができます:

var script = document.createElement("script");
script.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js";
document.getElementsByTagName("head")[0].appendChild(script);

スクリプトがロードされる間、少し遅延する必要がある場合があります (setTimeout?)

于 2009-04-23T00:25:59.740 に答える