dynamic script tag with src |
var scriptTag = document.createElement('script');
scriptTag.type = 'text/javascript';
scriptTag.src = "http://cdnjs.cloudflare.com/ajax/libs/Base64/0.1.3/base64.js?" + Date.now();
scriptTag.onload = scriptTag.onreadystatechange = function() {
deferred.resolve();
};
document.getElementsByTagName('head')[0].appendChild(scriptTag);
| ready |
xhr+eval |
function reqListener() {
eval(this.responseText);
deferred.resolve();
};
var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", "http://cdnjs.cloudflare.com/ajax/libs/Base64/0.1.3/base64.js?" + Date.now(), true);
oReq.send();
| ready |
xhr+inline script tag |
function reqListener() {
var scriptTag = document.createElement('script');
scriptTag.type = 'text/javascript';
scriptTag.text = this.responseText;
document.getElementsByTagName('head')[0].appendChild(scriptTag);
deferred.resolve();
};
var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", "http://cdnjs.cloudflare.com/ajax/libs/Base64/0.1.3/base64.js?" + Date.now(), true);
oReq.send();
| ready |
new Function |
function reqListener() {
(new Function(this.responseText))();
deferred.resolve();
};
var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", "http://cdnjs.cloudflare.com/ajax/libs/Base64/0.1.3/base64.js?" + Date.now(), true);
oReq.send();
| ready |