insertBefore Override
HTML
<h1>insertBefore Override</h1>
<p>
<input type="button" onclick="loadInvalid()" value="Load InValid Image" />
<input type="button" onclick="loadValid()" value="Load Valid Image" />
</p>
JavaScript
// Our new insert before method
var db = document.body;
db._insertBefore = db.insertBefore; // saved reference
db.insertBefore = function (ele, firstChild) {
if (ele.src === null || ele.src.indexOf('http://hopa.vizu.com/s.gif') === -1) {
console.log('insertBefore(' + ele + ', ' + firstChild + ')');
this._insertBefore(ele, firstChild);
} else {
// do nothing just overwrite
ignoreMe(ele, firstChild);
}
};
var ignoreMe = function (ele, firstChild) {
console.log('ignoreMe(' + ele + ', ' + firstChild + ')');
return;
};
// load an invalid image
loadInvalid = function () {
var d = document;
var img1 = d.createElement('img');
img1.setAttribute('src', 'http://hopa.vizu.com/s.gif?pid=118099&vzcid=2506&adtype=0&vzadid=300x250&ttype=7&vzsid=uct-ts1&siteurl=admin.local&vzplid=&vzwc=&vzc1=&vzc2=&vzc3=&vzc4=&vzc5=&vzc6=&vzc7=&vzc8=&vzc9=&vzc10=&iframe=0&vzwt=&vzsize=other&vztc=&visible=&_t=7454562968');
d.body.insertBefore(img1, d.body.firstChild);
};
// load a valid image
loadValid = function () {
var d = document;
var img1 = d.createElement('img');
img1.setAttribute('src', 'http://www.vizu.com/assets/img/vizu-logo.png');
d.body.insertBefore(img1, d.body.firstChild);
};