提醒:本文最后更新于 3811 天前,文中所描述的信息可能已发生改变,请仔细核实。
如题,因为Chatbox写了个对象。。。好吧,写了个Object:
var changeTitle = { time: 0, originTitle: document.title, timer: null, change: function() { document.title = "~New Message Received~ " + changeTitle.originTitle; }, notify: function() { if(document.title.indexOf("~New Message Received~")) clearTimeout(changeTitle.timer); document.title = "~New Message Received~ " + changeTitle.originTitle; changeTitle.timer = setTimeout(function(){changeTitle.clear();},3000); }, flash: function() { changeTitle.timer = setTimeout(function () { changeTitle.time++; changeTitle.flash(); if (changeTitle.time % 2 === 0) { document.title = "~ ~ " + changeTitle.originTitle; }else{ document.title = "~New Message Received~ " + changeTitle.originTitle; } }, 500); }, reset: function() { clearTimeout(changeTitle.timer); document.title = changeTitle.originTitle; } };
通过以下方法可以调用:
changeTitle.change();//更改标题 changeTitle.notify();//更改标题3秒后恢复 changeTitle.flash();//闪烁标题 changeTitle.reset();//复位标题
通过监听visibilitychange,你可以完成一些有意思的动作,比如进入和离开页面时改变标题(具体应该说标签为非前置状态时改变标题,标签前置状态时改变标题):
var changeTitle={time:0,originTitle:document.title,timer:null,change:function(){document.title="~New Message Received~ "+changeTitle.originTitle},notify:function(){if(document.title.indexOf("~New Message Received~"))clearTimeout(changeTitle.timer);document.title="~New Message Received~ "+changeTitle.originTitle;changeTitle.timer=setTimeout(function(){changeTitle.reset()},3000)},flash:function(){changeTitle.timer=setTimeout(function(){changeTitle.time++;changeTitle.flash();if(changeTitle.time%2===0){document.title="~ ~ "+changeTitle.originTitle}else{document.title="~New Message Received~ "+changeTitle.originTitle}},500)},reset:function(){clearTimeout(changeTitle.timer);document.title=changeTitle.originTitle}}; document.addEventListener('visibilitychange', function() { if (document.hidden) { changeTitle.flash(); } else { changeTitle.reset(); } });
上述例子,为方便显示把changeTitle对象压缩了。
最后,为情人节干杯。
转载请注明转自: kn007的个人博客 的《js改变浏览器标签标题》

Chatbox,对于个人博客来说,有点高大上了。还是为情人节干杯实际。
@老杨:
朋友的一个项目,挺有趣的,所以帮手帮手,其后台还是蛮牛的。
@老杨: 比如你能真正的知道自Chatbox启动以来的用户数和连接数,相当于实际访客访问的IP和PV数(图左上),因为必须握手几次才能完成登入,而且以浏览器cookie作为准则,写不来cookie也不算,所以保证不是那种搜索引擎或者加载完就走的人。虽然已经过了看数据的博龄,但心情还是因此有点小激动的。
右边,你可以看到对方的来源,现在在浏览什么,看了多久,甚至你还可以发送js给对方。
还是蛮有意思的,说简单点,让你当回上帝。。。
而且你还可以发送文件、图片、视频,两个人交谈时,有时就不必那么麻烦,有网就行。。特别是跟国外打交道,人家有的聊天工具跟我们不一样。
http://ww4.sinaimg.cn/large/9160da2egw1f0yoslbyyqj211y0ijgsk.jpg
@kn007: 嗯,虚拟主机能玩不?
@老杨: 按道理不能,但其实也可以,但服务器端要托管在别人那,以后我们这边可以能会弄个服务器来跑这些托管的。具体要问ArchiTech,你也可以到主线的issue提出来,或许你可以第一个体验到。
https://github.com/Arch1tect/Chatbox/issues
如果你想尝试下控制面板,可以访问 http://lifeislikeaboat.com:4321/admin.html
前端在 http://lifeislikeaboat.com:4321/ 和 http://lifeislikeaboat.com/
@老杨: 接上条回复,Token密码默认为12345
不明觉厉!
@嘚啵嘚的博客: 试试就知道了
刚才在github时间线里面看到你提问github pages生成器的问题,其实在repo的settings里有一个automatic page generator。
@王琪亮: 哦,我以为ArchiTech不知道,后来他说他知道
我就把comment删了,感谢你的PR。
@老杨: 哈哈,大发太贱了。
用的话,主要用visibilitychange就可以了,不用那么麻烦。我这个毕竟考虑新消息提醒的环境。而单纯的通过切换标签来改变标签名词只要通过监控visibilitychange就好了。
话说ArchiTech做了通用版本的Chatbox,可以免(虚拟)服务器运行,而且独立。
你可以通过 https://github.com/Arch1tect/Chatbox 查看。
至于 https://github.com/kn007/Chatbox ,暂时作为现阶段的stable版本,需要nodejs环境。
@kn007: 还是没看懂怎么个用法……
@老杨: 你说chatbox还是这个?
@老杨: 看这里
http://arch1tect.github.io/Chatbox/
拉到底。
网站速度杠杠的
@园子大魔王: 那是
我觉得那个还能显示当前人数就挺好玩的,不过应该没多少人会用它来聊天把。
@Leyar: 是没有多少人
没看清白 用在哪里?
右下角那个吗??
@World: 对的,用在了右下角那个。
但这个代码可以拿去当别的用。
@kn007: 以前用ajax写过一个类似的在线聊天 和这个神似

@World:
这个是长连接
http://ww4.sinaimg.cn/large/9160da2egw1f14zpfhc6fj20eh07rdgd.jpg
每天都挺多人来的。。。
@kn007: 截图时间 2016年2月21日 09:50 GMT+0800
http://ww1.sinaimg.cn/large/9160da2egw1f16pztm7ftj20e107l74t.jpg
简直就是插了个眼!
@be.truth: 哈哈哈
大发的2014哈哈哈哈
@aunsen:
