web-dev-qa-db-ja.com

TampermonkeyでのjQueryの使用

Chrome 27.0.1453.116 mを使用していて、「Experimental Javascript」を有効にしていますが、JQueryをTampermonkeyで実行できません。

私が試してみました:

// ==UserScript==
// @name       My Fancy New Userscript
// @require    http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js
// ==/UserScript==

var $ = unsafeWindow.jQuery;
var jQuery = unsafeWindow.jQuery;

ただし、var $ = unsafeWindow.jQuery;unsafeWindowを強調表示している行で、定義される前にunsafeWindowが使用されたというエラーが表示されます。これを修正する方法は?

15
Michael Jarvis

編集:Greasemonkey 2.0以降、ホストページのjQueryのインスタンスを取得するためにunsafeWindow.jQueryを使用していません(使用できません)。 window.jQuery// @grant none(または@grant jQuery以外のものに必要なその他の特別なAPI)を使用するだけです。

出典: https://github.com/greasemonkey/greasemonkey/issues/1952
http://www.greasespot.net/2014/06/greasemonkey-20-release.html

現在(2015年2月)のTampermonkeyは、デフォルト設定でも同様に機能するようです: http://tampermonkey.net/faq.php#Q404


以下の古い時代遅れの答え:

ディレクティブ// @grant unsafeWindowを追加します。また、ホストウィンドウオブジェクトからjQuery参照を取得する場合は、@require行は必要ありません。

15
tuff