在实现客服系统的过程中,需要有新消息的时候标题栏闪烁提示
因为聊天框是被iframe框进去的页面,所以在聊天框中收到websocket消息以后要把消息发送给父集页面,在父页面中闪烁标题
测试页面地址:
https://gofly.sopans.com/
子页面发送到父页面的实现是,在父页面增加消息监听,子页面发送消息
子页面:
window.parent.postMessage(redata);
父页面收到消息调用函数,标题不停切换
window.addEventListener('message',function(e){ var msg=e.data; if(msg.type=="message"){ flashTitle();//标题闪烁 } });
var titleTimer,titleNum=0; var originTitle = document.title; function flashTitle() { titleNum++; if (titleNum == 3) { titleNum = 1; } if (titleNum == 1) { document.title = '【】' + originTitle; } if (titleNum == 2) { document.title = '【你有一条消息】' + originTitle; } titleTimer = setTimeout("flashTitle()", 500); }
当回到该页面时标题停止切换
window.onfocus = function () { clearTimeout(titleTimer); document.title = originTitle; };
总结