Javascript 动态设置 title

Js代码直接写在asp.net 的母版页(Master Page)了,原理是直接从Web文档的“导航”代码中取出最后元素的文本值。
 1//<![CDATA[
 2                (function(){
 3                    window.addEventListener ? window.addEventListener('load', titleLoad, false) : window.attachEvent('onload', titleLoad);
 4                    if(!document.getElementById) return;
 5                    function titleLoad() {
 6                        var oTextObj = document.getElementById('lastNode');
 7                        if(!oTextObj) return;
 8                        sText = oTextObj.innerHTML;
 9                        if(!sText) return;
10                        document.title = '蝴蝶树 - '+ sText;
11                    }

12                }
());
13                //]]>
HTML代码请参见《精通 HTML》6.4 语义导航。
上面的方法是有语义的情况。
在实际工作中的运用: http://demo.idea-source.net/baicheng/cn/index/
而下面的方法是无语义的情况:
在 .net 2.0 的 SiteMapPath 服务端控件是生成了无语义的 span。
 1//<![CDATA[
 2                (function(){
 3                    if(!document.getElementsByTagName) return;
 4                    var spanElm = document.getElementsByTagName('span');
 5                    if(!spanElm) return;
 6                    for(var i=0; i < spanElm.length; i++{
 7                        var spanElmOfSpan = spanElm[i].getElementsByTagName('span');
 8                        if(!spanElmOfSpan) continue;
 9                        for(var j=0; j<spanElmOfSpan.length; j++{
10                            spanElmOfSpan[spanElmOfSpan.length-1].id = 'lastNode';
11                        }

12                        
13                    }

14                    }
());
15                //]]>

在实际工作中的运用: http://demo.idea-source.net/hds/cn/index/
posted on 2008-06-09 14:51  豆豆の爸爸  阅读(4653)  评论(1编辑  收藏  举报