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);
            };