Greasemonkey用户脚本中的jQuery UI对话框 - 缺少关闭按钮

时间:2015-10-26 14:09:19

标签: javascript jquery jquery-ui greasemonkey

我有一个用户脚本(对于Greasemonkey)我使用jQuery UI对话框。 问题是关闭按钮显示为空。

我的代码是这样的:

// ==UserScript==
// @name        test
// @grant       GM_addStyle
// @grant       GM_getResourceText
// @require     http://code.jquery.com/jquery-2.1.4.min.js
// @require     http://code.jquery.com/ui/1.11.4/jquery-ui.min.js
// @resource    source_2 http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css  
// ==/UserScript==

var src2 = GM_getResourceText ("source_2");
GM_addStyle (src2);

...


$(function() {
  $( "#dialog" ).dialog({
    title: 'My dialog'
  });
});

为了获取(完整的)jQueryUI主题的URL,我可以将其作为@resource添加到我的脚本中, (即访问this page并在页面底部选择Smoothness主题)
它只是提示下载一个完整的.zip文件 - 我无法在我的用户脚本中使用它。

基于对这个问题的回复jQuery UI Dialog - missing close icon 我迄今为止尝试过的事情没有成功:

  1. 正在加载bootstrap,实际上在 jquery-ui-min之前加载 < 编辑/添加此代码到:
  2.     // ==UserScript==
        // @name        test
        // @grant       GM_addStyle
        // @grant       GM_getResourceText
        // @require     http://code.jquery.com/jquery-2.1.4.min.js
        // @resource    source_1 https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css
        // @require     http://code.jquery.com/ui/1.11.4/jquery-ui.min.js
        // @resource    source_2 http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css  
        // ==/UserScript==
    
        var src1 = GM_getResourceText ("source_1");
        GM_addStyle (src1);
        var src2 = GM_getResourceText ("source_2");
        GM_addStyle (src2);
    
        ...
    
        $(function() {
          $( "#dialog" ).dialog({
            title: 'My dialog'
          });
        });
    

    1. 通过Dialog Open事件上的一些dom操作:
      也就是说,最后添加这个额外的代码:

      $(function() {           // or omitting this line (and the last one)
      $("#dialog").dialog({
          open: function() {
              $(this).closest(".ui-dialog")
              .find(".ui-dialog-titlebar-close")
              .removeClass("ui-dialog-titlebar-close")
              .html("<span class='ui-button-icon-primary ui-icon ui-icon-closethick'></span>");
          }
      });
      });    
      
    2. 如何解决此问题?

0 个答案:

没有答案