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
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.
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">×</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.