一些网站,当你把标签页移动到别的网页的时候会把标题替换成其他的文本,例如「快回来,网页崩溃了」,当你回去打开标签页的时候,标题又变成了「又好了」,通常的实现方式类似:

var OriginTitle = document.title;
var titleTime;
document.addEventListener('visibilitychange', function () {
    if (document.hidden) {
        document.title = '哦豁,回来,网页崩溃了';
        clearTimeout(titleTime);
    }
    else {
        document.title = '好了,没事了 (。・∀・)ノ゙';
        titleTime = setTimeout(function () {
            document.title = OriginTitle;
        }, 1000);
    }
});

谈谈原理,主要是用到了一个事件监听器 visibilitychange,字面意思理解就是「可见度改变」,这个事件监听器允许我们在网页可见度被改变时时执行 js 代码,也就是切换到其他的标签页或者从其他标签页切换回来时。

/* like this */
document.addEventListener('visibilitychange', function(){
    //your code here when visibility has changed
});
/* or this */
document.addEventListener('visibilitychange', yourFunction);

利用 document.hidden 属性可以判断标签页处于什么状态,当 document.hidden 返回 true 的时候,标签页处于「不可见」状态,也就是切换到了其他的标签页。