Files
@ 66fb4ce8fa2f
Branch filter:
Location: CSY/sefm2020/themes/bootstrap3/static/js/jXHR.js - annotation
66fb4ce8fa2f
2.4 KiB
text/javascript
Change welcome page
913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 913a26cb1708 | // jXHR.js (JSON-P XHR)
// v0.1 (c) Kyle Simpson
// MIT License
(function(global){
var SETTIMEOUT = global.setTimeout, // for better compression
doc = global.document,
callback_counter = 0;
global.jXHR = function() {
var script_url,
script_loaded,
jsonp_callback,
scriptElem,
publicAPI = null;
function removeScript() { try { scriptElem.parentNode.removeChild(scriptElem); } catch (err) { } }
function reset() {
script_loaded = false;
script_url = "";
removeScript();
scriptElem = null;
fireReadyStateChange(0);
}
function ThrowError(msg) {
try { publicAPI.onerror.call(publicAPI,msg,script_url); } catch (err) { throw new Error(msg); }
}
function handleScriptLoad() {
if ((this.readyState && this.readyState!=="complete" && this.readyState!=="loaded") || script_loaded) { return; }
this.onload = this.onreadystatechange = null; // prevent memory leak
script_loaded = true;
if (publicAPI.readyState !== 4) ThrowError("Script failed to load ["+script_url+"].");
removeScript();
}
function fireReadyStateChange(rs,args) {
args = args || [];
publicAPI.readyState = rs;
if (typeof publicAPI.onreadystatechange === "function") publicAPI.onreadystatechange.apply(publicAPI,args);
}
publicAPI = {
onerror:null,
onreadystatechange:null,
readyState:0,
open:function(method,url){
reset();
internal_callback = "cb"+(callback_counter++);
(function(icb){
global.jXHR[icb] = function() {
try { fireReadyStateChange.call(publicAPI,4,arguments); }
catch(err) {
publicAPI.readyState = -1;
ThrowError("Script failed to run ["+script_url+"].");
}
global.jXHR[icb] = null;
};
})(internal_callback);
script_url = url.replace(/=\?/,"=jXHR."+internal_callback);
fireReadyStateChange(1);
},
send:function(){
SETTIMEOUT(function(){
scriptElem = doc.createElement("script");
scriptElem.setAttribute("type","text/javascript");
scriptElem.onload = scriptElem.onreadystatechange = function(){handleScriptLoad.call(scriptElem);};
scriptElem.setAttribute("src",script_url);
doc.getElementsByTagName("head")[0].appendChild(scriptElem);
},0);
fireReadyStateChange(2);
},
setRequestHeader:function(){}, // noop
getResponseHeader:function(){return "";}, // basically noop
getAllResponseHeaders:function(){return [];} // ditto
};
reset();
return publicAPI;
};
})(window);
|