如何使WordPress站点标题动态变化

ShowUNow 发布于 2024-11-05 201 次阅读


虽然wordpress内置的外观->自定义可以改变站点标题,但是一旦改好之后却不能动态地变化,一点也不酷

现在介绍一下本站的动态站点标题是怎么配置的。将以下代码添加至主题的footer.php文件的 </body>标签之前

<script>

    var cur_title = document.title;
    var titles = ["(。•ˇ‸ˇ•。)咦,你什么时候回来"];
    var titles_back = ["你回来啦(^_−)☆"];

var backTimeout;
var stayStartTime;

function checkStayDuration() {
    if (!document.hidden) {
        var stayDuration = Date.now() - stayStartTime; // 计算停留时间
        if (stayDuration > 2000) {
            clearTimeout(backTimeout); // 停留时间超过 2000 毫秒,取消原本的计时器
        }
        requestAnimationFrame(checkStayDuration); // 请求下一帧检查
    } else {
        clearTimeout(backTimeout); // 如果离开,清除返回计时器
    }
}

document.addEventListener('visibilitychange', function () {
    var isHidden = document.hidden;
    var title_random = titles[Math.floor((Math.random() * titles.length))];
    var title_random_back = titles_back[Math.floor((Math.random() * titles_back.length))];

    if (isHidden) {
        // 用户离开时,显示随机标题
        clearTimeout(backTimeout); // 清除之前的返回计时器
        document.title = title_random;
    } else {
        // 用户返回时,显示欢迎标题
        document.title = title_random_back;
        stayStartTime = Date.now(); // 记录返回时间

        // 启动一个计时器,2秒后恢复原始标题
        backTimeout = setTimeout(function () {
            document.title = cur_title;
        }, 2000);

        // 启动停留时间检查
        requestAnimationFrame(checkStayDuration);
    }
});

</script>

我这个配置虽然看着长,但是绝对比网上大多数做的要好,可以实现当用户离开网页时,持续变为设定好的站点标题。当用户再次返回页面时,可以变为 title_random_back 1.5秒后再次变回站点的原标题。非常的智能!具体标签请观察本站的标签页变化

网络上大多数给出的站点动态标题都有些问题,比如当频繁切入切出页面时,站点标题的改变会变得非常混乱,具体自行尝试便知

临时起意搭建的博客,不知道能坚持下去多久。
最后更新于 2024-11-06