2
[以下是我自己解決問題後的自我回復帖子。我猜有些人可能會發現它很有用。]如何使JQuery可調整大小和可拖動的工作與Greasemonkey?
我嘗試使用jQuery的resizable
和的Greasemonkey腳本draggable
,並
- 我得到錯誤的JS控制檯「組件不可用 (NS_ERROR_NOT_AVAILABLE)」,
- OR:
- 我在JS控制檯沒有錯誤,但可拖動不起作用。
如何解決這個問題?
[以下是我自己解決問題後的自我回復帖子。我猜有些人可能會發現它很有用。]如何使JQuery可調整大小和可拖動的工作與Greasemonkey?
我嘗試使用jQuery的resizable
和的Greasemonkey腳本draggable
,並
如何解決這個問題?
原因是某些版本的JQuery及其插件與GreaseMonkey不兼容。
以下是經確認可與Firefox 7.0.1 + GreaseMonkey 0.9.11 (應該可以在帶有GM 0.8+的Fx 3.0+中工作)一起使用的代碼片段。 它利用GreaseMonkey的0.8+ @require
和@resource
命令。 @require
和@resource
中的文件在安裝用戶腳本時下載(一次),並存儲在與用戶腳本相同的文件夾中的磁盤上。當這組依賴關係被改變時,例如通過用戶玩代碼,所有的依賴關係被重新下載。
// @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();
您可能後@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的問題: