include jQuery into javascript and use it in imacr

2020-02-05 11:39发布

I want to know how can I include jQuery library into javascript and use it in iMacros?

It goes like this. Into .js file I declare iMacros code as a variable

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

The code is actually larger and this is just small example. After I declared the variable I use commands like iimPlay, iimSet etc. to play the macro and set the variables inside the macro.

Now how can I include jQuery library into this so that I can use jQuery inside .js file and enhance my scripts ?

P.S. I found this on their forum but it didn't help me much since I didn't understand how to use it. Here is the link Link to iopus forum about jQuery

2条回答
冷血范
2楼-- · 2020-02-05 11:57

I've come with this this solution:

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;

Trying to get jQuery from it's official CDN, I faced with the "setTimeout is undefined" error in iMacros. So I downloaded jQuery and modified setTimeout method to be window.setTimeout. This worked for me and so I had to place jQuery in my online shared location to use it from there. Hope this helps.

查看更多
可以哭但决不认输i
3楼-- · 2020-02-05 12:02

Thanks for putting this solution together. I loaded jQuery successfully, then created a bootstrap modal and appended it to the body. Next I attempted to load bootstrap.js and call the modal('show') method on the modal but to no avail. iMacros tells me that the function .modal doesn't exist.

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');

When I run I get the following error in iMacros TypeError: $(...).modal is not a function, line 211 (Error code: -991)

Any help would be greatly appreciated as I'm kind of stuck at this point :s

Edit:I had to use $.getScript to load the bootstrap.js (the .com in the domain is because of stackoverflowrestriction) as when I tried to use the loadScriptFromURL, I was getting the error

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

Thanks, Mark.

查看更多
登录 后发表回答