Home

Link Embeds

Source code for bookmarklet Link Embeds.



javascript:
(function(){
    
    function cE(a)
    {
        var a2 = [];
        for (var k = 0; k < a.length; ++k) {
            a2.push(a[k]);
            }
        return a2;
    }
    var rp = 0;

    function eD(dt) {
        var iframe = null;
        var c = cE( dt.getElementsByTagName( "EMBED" ) );
        for (var k = 0; k < c.length; ++k)
        {
            var e = c[k];
            if (e.src.length > 0)
            {
                if ( ! iframe )
                {
                    iframe = dt.createElement( "IFRAME" );
                    iframe.name = "autark_embed";
                    iframe.height = 0;
                    iframe.width  = 0;
                    var body = dt.getElementsByTagName( "BODY" )[0];
                    body.insertBefore( iframe, body.firstChild );
                }

                var a = dt.createElement( "A" );
                a.href = e.src;
                a.target = "autark_embed";
                a.appendChild( dt.createTextNode("[MEDIA]") );
                e.parentNode.insertBefore( a, e );
                ++rp;
            }
        }
        alert("Embeds: " + rp);
    }


    // "dIr" == "documentIterator"
    function dIr(dt, f) {
        function ifsr( fs )
        {
            for (var i = 0; i < fs.length; ++i)
            {
                try {
                    dIr(fs[i].contentDocument, fs[i]); // recursive call
                }
                catch (e) {
                    alert(e || "Unspecified error");
                }
            }
        }

        if (dt == null) {return;}
        eD(dt, f);
        ifsr( dt.getElementsByTagName("FRAME") );
        ifsr( dt.getElementsByTagName("IFRAME") );
    }

    // iterate through all documents
    dIr(document, null);
}());