使用Web标题提示用户使用新的消息,如当前的微博和一些常见的邮箱,这是很常见的。您如何实现一个功能

公司的理念是:通过Ajax获取的背景,如果有新的信息,网页的标题所提示的信息与空间来回切换。例如:{你{ }有新消息}开关。内容是动态的,所以空格数替换文本也计算。这里的整个空间。但是如果有一个'数字'半角字符消息的话,将是一个问题。整个空间宽度超过1宽。在这种情况下,闪光看起来不是很舒服;解决的办法是以空间代替全宽度的字符的全宽度半空间代替单字节字符。
但文档。标题= '';无论多少半空间,浏览器只显示一个。在使用中,它的原始输出;只有var t = document.getelementsbytagname(标题){ 0 }。获得冠军的DOM对象,修改它的t.innerhtml =。

但它会很顺利,当然不是。我们可爱的IE永远摆脱困境,在这个时候,IE浏览器下,标题中的innerHTML是只读的(不只是标题,但其他如COL,see,框架,HTML,风格,桌子,tbody,tbody,表,等等。属性是只读的)。如果是强加的任务将会发生一个未知的错误。现在我不能找到一个办法,只能加试{ }赶上(E)为它的特殊待遇{ }
共享源代码:
复制代码代码如下所示:

无功flashtitleplayer = { {
开始:函数(MSG){
this.title = document.title;
如果(!这个动作){
{试
this.element = document.getelementsbytagname(标题){ 0 };
this.element.innerhtml = this.title;
this.action =功能(TTL){
this.element.innerhtml = TTL;
};
} catch(e){
this.action =功能(TTL){
document.title = TTL;
}
删除this.element;
}
this.toggletitle =函数(){
this.action(+{这个消息{ this.index = this.index = = 01 + 0 } }欢迎访问简单的现代魔术);
};
}
this.messages = {味精};
var n = msg.length;
var=;
如果(此元素){
VaR Num = msg.match( / W / G);
如果(Num)!= NULL){
var n2 = num.length;
N = n2;
当(n2 > 0){
=;
N2—;
}
}
}
而(n>0){
+;
n;
};
This.messages.push(S);
this.index = 0;
this.timer = setInterval(){()函数(
FlashTitlePlayer.toggleTitle();
},1000);
},
停止:函数(){
如果(这个计时器){
ClearInterval(这个定时器);
this.action(这个名称。);
删除this.timer;
删除this.messages;
}
}
};
功能flashtitle(MSG){
flashtitleplayer.start(MSG);
}
功能stopflash(){
FlashTitlePlayer.stop();
}


火狐,Chrome没问题,IE当消息一个或没有半角字符时没有问题。