JSFiddle - React, Tailwind, and code Playground
by swoogie
JavaScript
//This function overrides Image object and document.createElement
//to store Objects as they are created in a global array.
var tester = {
start: function () {
window.oce= document.createElement;
window.oim = Image;
window.globs = [];
Image = function (imgObj) {
return function () {
var newImage = new imgObj;
globs.push(newImage);
return newImage;
}
}(Image)
document.createElement = _.wrap(document.createElement, function (func, param) {
var e = func.call(document, param);
globs.push(e);
return e;
});
},
end: function () {
document.createElement = oce;
Image = oim;
oim=oce=undefined;
}
};
//show it isnt in place
var x = new Image();
x.src = "https://cdn.sstatic.net/stackoverflow/img/sprites.png?v=6";
var b = document.createElement('script');
b.src = 'www.google.com';
try {
console.dir(globs);
} catch (e) {
console.log(e);
}
//invoke overrides
tester.start();
//remake elements
var x = new Image();
x.src = "http://jsfiddle.net/img/logo.png";
var b = document.createElement('script');
b.src = 'www.amazon.com';
console.dir(globs);
//turn off overrides
tester.end();
var v = document.createElement('iframe');
v.src = 'www.theverge.com';
var r = new Image();
r.src = 'http://underscorejs.org/docs/images/underscore.png';
console.dir(globs);