@naimi/alib
Version:
86 lines (79 loc) • 2.47 kB
JavaScript
//! override ActiveXObject()
var ActualActiveXObject = ActiveXObject;
ActiveXObject_ = function(progid) {
var ax = new ActualActiveXObject(progid);
//! a small wrapper for the "MSXML2.XMLHTTP" object.
if (progid.toLowerCase() == "msxml2.xmlhttp") {
var o = {
_ax: ax,
_status: "fake",
responseText: "",
responseXml: null,
readyState: 0,
status: 0,
statusText: 0,
onReadyStateChange: null
// add the other properties...
};
o._onReadyStateChange = function() {
var self = o;
return function() {
self.readyState = self._ax.readyState;
self.responseText = self._ax.responseText;
self.responseXml = self._ax.responseXml;
self.status = self._ax.status;
self.statusText = self._ax.statusText;
if (self.onReadyStateChange) self.onReadyStateChange();
}
}();
o.open = function(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword) {
varAsync = (varAsync !== false);
this._ax.onReadyStateChange = this._onReadyStateChange
return this._ax.open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword);
};
o.send = function(varBody) {
return this._ax.send(varBody);
};
// add the other methods...
} else {
var o = ax;
}
return o;
}
function Test() {
var r = new ActiveXObject_('Msxml2.XMLHTTP');
alert(r._status); // "fake"
r.onReadyStateChange = function() { alert(this.readyState); };
r.open("GET", "z.xml");
r.send();
alert(r.responseText);
}
// var fso = new ActiveXObject_('Msxml2.XMLHTTP');
// if (!Array.prototype.includes) {
// Array.prototype.includes = function(key) {
// // for (var i = 0; i < this.length; i++)
// for (var i = this.length; i--;)
// if (key === this[i])
// return true;
// return false;
// }
// }
// var ActiveXObject_ = function(progid) {
// var ax = new ActualActiveXObject(progid);
// var FSO = WScript.CreateObject("Scripting.FileSystemObject");
// // WScript.Echo(FSO);
// // if (!fs.prototype.rmdirSync) {
// FSO.prototype.rmdirSync = function(foldername) {
// WScript.Echo("deleting: "+foldername);
// // fs.DeleteFolder(foldername, force)
// return false;
// }
// // }
//
// if (!fs.prototype.rmdirSync) {
// fs.prototype.rmdirSync = function(foldername) {
// WScript.Echo("deleting: "+foldername);
// // fs.DeleteFolder(foldername, force)
// return false;
// }
// }