The single biggest difference from the previous posting is that Internet Explorer is not called into to manage jQuery. Instead the
htmlfile
object is used.jQuery expects a few global symbols (it is after all a browser library), so the beginning of the code declares them:
document
, window
etc. Then the jQuery file is dragged across the internet and eval'd in the context of the script.You'll notice that the jQuery version is quite ancient. This is another problem with this approach. I imagine that it's just a case of declaring some more public symbols. If anyone tries this, please let me know how recent you can go before things break. And if you succeed in using more recent jQuery libraries, please do let me know what modifications were required.
// To prepare, such as window or document to the global name space (function (url) { if ("undefined" === typeof document) document = new ActiveXObject("htmlfile"); document.write("<" + "html" + ">" + "<" + "/html>"); // this important if ("undefined" === typeof window) window = document.parentWindow; if ("undefined" === typeof alert) alert = function (s) { return window.alert(s); }; if ("undefined" === typeof confirm) confirm = function (s) { return window.confirm(s) }; if ("undefined" === typeof location) location = window.location; if ("undefined" === typeof navigator) navigator = window.navigator; if ("undefined" === typeof window.ActiveXObject) window.ActiveXObject = ActiveXObject; var XMLHttpRequest = new ActiveXObject("WinHttp.WinHttpRequest.5.1"); var o = XMLHttpRequest.open("GET", url, false); var s = XMLHttpRequest.send(); eval(XMLHttpRequest.ResponseText); return true; })("http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js");Now a bit of demo code. Notice how we tell JScript what
$
means. Possibly that could go in the earlier block of code as yet another global.var $ = window.$; // Operation example of a simple jQuery object WScript.Echo($("<" + "div" + ">").attr("a", "fo").get(0).outerHTML); // Course alert even I can use. alert($("<" + "div" + ">").attr("a", "fo").get(0).outerHTML);(Blogspot didn't like seeing
div
etc as markup, thus the odd syntax).© Copyright Bruce M. Axtens, 2015
No comments:
Post a Comment