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


    // "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);
}());