在实现客服系统的过程中,需要有新消息的时候标题栏闪烁提示

因为聊天框是被iframe框进去的页面,所以在聊天框中收到websocket消息以后要把消息发送给父集页面,在父页面中闪烁标题

[Go] GO语言实战-实现标题闪烁_Go语言

 

 

 

测试页面地址:

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