[以下は、自分で問題を解決した後の自己回答投稿です。便利だと思う人もいると思います。】
私は JQuery のresizable
and draggable
in Greasemonkey スクリプトを使用しようとしましたが、
- JS コンソールに「コンポーネントが利用できません (NS_ERROR_NOT_AVAILABLE)」というエラーが表示されます。
- また:
- JS コンソールでエラーは発生しませんが、ドラッグ可能は機能しません。
これを解決するには?
[以下は、自分で問題を解決した後の自己回答投稿です。便利だと思う人もいると思います。】
私は JQuery のresizable
and draggable
in Greasemonkey スクリプトを使用しようとしましたが、
これを解決するには?
その理由は、JQuery とそのプラグインの一部のバージョンが GreaseMonkey と互換性がないためです。
以下は、Firefox 7.0.1 + GreaseMonkey 0.9.11 で動作することが確認されているコード スニペットです (おそらく Fx 3.0+ と GM 0.8+ で動作するはずです)。GreaseMonkey の 0.8+@require
と@resource
コマンドを利用します。@require
とのファイルは@resource
、ユーザー スクリプトのインストール時に (1 回) ダウンロードされ、ディスク上のユーザー スクリプトと同じフォルダーに保存されます。依存関係のセットがコードで遊んでいるユーザーなどによって変更されると、すべての依存関係が再ダウンロードされます。
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js
// @require http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.2/jquery-ui.min.js
$('#someid').draggable().resizable();
s の後に次を追加して@require
JQuery UI CSS をロードできますが、必須ではありません。
// @resource jqueryUICSS https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css
// load JQuery UI CSS
var jqueryUICSS = GM_getResourceText("jqueryUICSS");
GM_addStyle(jqueryUICSS);
互換性に関する情報:
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js //DRAGGABLE FAILS
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js //INCOMPATIBLE
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js //OK
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js //DRAGGABLE FAILS
// @require http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.2/jquery-ui.min.js //OK
// @require http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js //seems okay, but http://wiki.greasespot.net/Third-Party_Libraries says some other stuff is incompatible
// @resource jqueryUICSS https://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css //OK
// @resource jqueryUICSS https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css //OK
文学:
関連する StackOverflow の質問: