【问题标题】:How to make JQuery resizable & draggable work with Greasemonkey?如何使用 Greasemonkey 使 JQuery 可调整大小和可拖动工作?
【发布时间】:2011-10-15 23:09:30
【问题描述】:

[以下为自行解决问题后的自答贴。我想有些人可能会觉得它很有用。]

我尝试在 Greasemonkey 脚本中使用 JQuery 的 resizabledraggable,并且

  • 在 JS 控制台中出现错误“组件不可用 (NS_ERROR_NOT_AVAILABLE)",
  • 或:
  • 我在 JS 控制台中没有收到任何错误,但可拖动不起作用。

如何解决?

【问题讨论】:

    标签: jquery jquery-ui greasemonkey jquery-ui-draggable jquery-ui-resizable


    【解决方案1】:

    原因是某些版本的 JQuery 及其插件与 GreaseMonkey 不兼容。

    以下是确认可用于 Firefox 7.0.1 + GreaseMonkey 0.9.11 的代码 sn-p (应该可能在 Fx 3.0+ 和 GM 0.8+ 中工作)。 它利用了 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();
    

    您可以在@requires 之后添加以下内容以加载 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 问题:

    【讨论】:

      猜你喜欢
      • 2020-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 2018-01-10
      相关资源
      最近更新 更多