Home

Show Heading Levels

Source code for bookmarklet Show Heading Levels.



javascript:
(function(){
    
    var rp = 0;
    function nh(dt, hl)
    {
        h = dt.getElementsByTagName(hl);
        for (var k = 0; k < h.length; ++k) {
            var te = dt.createTextNode( "[" + hl + "] " );
            h[k].insertBefore( te, h[k].firstChild );
            ++rp;
        }
    }

    function eD(dt)
    {
        for (var k = 1; k < 9; ++k) {
            nh(dt, "H" + k);
        }
        alert("Headings numbered: " + rp);
    }


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

    // "dI" == "documentIterator"
    function dI_(dt, f) {
        if (dt == null) {return;}
        eD(dt, f);
        ifs_( dt.getElementsByTagName("FRAME") );
        ifs_( dt.getElementsByTagName("IFRAME") );
    }

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