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が使用されたというエラーが表示されます。これを修正する方法は?
編集: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
行は必要ありません。