【问题标题】:include jQuery into javascript and use it in imacros ?将 jQuery 包含到 javascript 中并在 imacros 中使用它?
【发布时间】:2012-07-20 12:39:59
【问题描述】:

我想知道如何在 javascript 中包含 jQuery 库并在 iMacros 中使用它?

事情是这样的。在 .js 文件中,我将 iMacros 代码声明为变量

var someMacro;
someMacro ="CODE:";
someMacro +="TAB T=1 \n";

代码实际上更大,这只是一个小例子。声明变量后,我使用 iimPlay、iimSet 等命令来播放宏并在宏中设置变量。

现在如何在其中包含 jQuery 库,以便我可以在 .js 文件中使用 jQuery 并增强我的脚本?

附:我在他们的论坛上找到了这个,但它对我没有多大帮助,因为我不明白如何使用它。这是链接Link to iopus forum about jQuery

【问题讨论】:

    标签: javascript jquery imacros


    【解决方案1】:

    我有这个解决方案:

    function loadScriptFromURL(url) {
        var request = Components.classes['@mozilla.org/xmlextras/xmlhttprequest;1'].createInstance(Components.interfaces.nsIXMLHttpRequest),
            async = false;
        request.open('GET', url, async);
        request.send();
        if (request.status !== 200) {
            var message = 'an error occurred while loading script at url: ' + url + ', status: ' + request.status;
            iimDisplay(message);
            return false;
        }
        eval(request.response);
        return true;
    }
    
    // load JQuery
    loadScriptFromURL('http://mysupersecret.blob.core.windows.net/share/jquery-2.0.3.min.js');
    $ = window.$,
    JQuery = window.JQuery;
    

    尝试从它的官方 CDN 获取 jQuery,我遇到了 iMacros 中的“setTimeout is undefined”错误。所以我下载了 jQuery 并将 setTimeout 方法修改为 window.setTimeout。这对我有用,所以我必须将 jQuery 放在我的在线共享位置才能从那里使用它。希望这会有所帮助。

    【讨论】:

    • 这会有很大帮助。你能分享一个在 iMacros 中使用的 jQuery 代码的例子吗?
    • 只需在您的 JQuery 文件中搜索“setTimeout”字符串并在其前面加上“window”。你可以从这里得到我的:spprofessionals.blob.core.windows.net/share/jquery-2.0.3.min.js
    • IDK iMacros 是什么,但你不能在全局范围内执行var setTimeout = window.setTimeout 之类的操作,然后从 CDN 加载 jQuery 吗?
    • @dagg-nabbit,我也试过了——对我没用))
    • @cyxou - 你能再次分享你的 js 文件吗?我试图自己改变它,但仍然得到同样的错误。你能再分享一次吗?谢谢。
    【解决方案2】:

    感谢您整合此解决方案。我成功加载了 jQuery,然后创建了一个引导模式并将其附加到正文中。接下来我尝试加载 bootstrap.js 并在 modal 上调用 modal('show') 方法,但无济于事。 iMacros 告诉我函数 .modal 不存在。

    loadScriptFromURL('http://localhost.com:7001/ybswcsstub/resources/plugins/jquery-1.10.2.min.js');
    
    $ = window.$, JQuery = window.JQuery;
    
    $.getScript('http://localhost.com:7001/ybswcsstub/resources/plugins/bootstrap/js/bootstrap.js');
    
    $('body').append('<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">' +
    '  <div class="modal-dialog">'+
    '    <div class="modal-content">'+
    '      <div class="modal-header">'+
    '        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>'+
    '        <h4 class="modal-title" id="myModalLabel">Modal title</h4>'+
    '      </div>'+
    '      <div class="modal-body">'+
    '        Some Modal'+
    '      </div>'+
    '      <div class="modal-footer">'+
    '        <button type="button" class="btn btn-default"     data-dismiss="modal">Close</button>'+
    '        <button type="button" class="btn btn-primary">Save changes</button>'+
    '      </div>'+
    '    </div>'+
    '  </div>'+
    '</div>');
    
    $('#myModal').modal('show');
    

    当我运行时,我在 iMacros 中收到以下错误 TypeError: $(...).modal 不是函数,第 211 行(错误代码:-991)

    任何帮助将不胜感激,因为我在这一点上有点卡住了:s

    编辑:我必须使用 $.getScript 来加载 bootstrap.js(域中的 .com 是因为 stackoverflowrestriction),因为当我尝试使用 loadScriptFromURL 时,我收到了错误

    Error: Bootstrap's JavaScript requires jQuery, line 7 (Error code: -991)
    

    谢谢, 标记。

    【讨论】:

    • 面临同样的问题!通过单击相应的按钮,我设法触发了引导模式。只需创建一个像这样的按钮:var btn = "&lt;button id='myButton' type='button' data-toggle='modal' data-target='myModal'&gt;Show Modal&lt;/button&gt;"; $(btn).appendTo("body"); 当然,您会希望通过应用显示隐藏来使该按钮不可见。将其附加到正文后,使用$("#myButton").trigger("click"); 单击它。希望这会有所帮助
    猜你喜欢
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 2012-08-14
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多