给网站添加随时间变化的动态问候语/欢迎词

发布于 2022-07-31

给网站添加随时间变化的动态问候语/欢迎词

我们在访问某些网站的时候,经常会在网站顶部看到动态问候语,比如早晨八点多显示 “早上好,今天又是美好的一天!”,这样做可以很好地提升网站用户体检,所以,今天为大家简单分享一下实现代码,分 JavaScript 版 和 PHP 版两种,选择其一即可。

JS 版

JS 版由于是在客户端浏览器执行,比较省心,推荐使用此方法,下文提供了两个版本,一个来自于网络,另一个是本站使用的。

1、版本一

这一个来自于网络,显示问候语及日期星期,例如:“中午好!2022年7月31日 星期日”,将下面的代码粘贴到页面中指定位置即可。

<div id="user-profile" class="greetings">
<script type="text/javascript">
var hello = "";
var hour = new Date().getHours();
// 获取问候语
if (hour < 6) {
    hello = "凌晨好!";
} else if (hour < 9) {
    hello = "早上好!";
} else if (hour < 12) {
    hello = "上午好!";
} else if (hour < 14) {
    hello = "中午好! ";
} else if (hour < 17) {
    hello = "下午好! ";
} else if (hour < 19) {
    hello = "傍晚好!";
} else if (hour < 22) {
    hello = "晚上好! ";
} else {
    hello = "夜深了! ";
}
document.write(hello);
// 获取日期及星期
var d, s = "";
var x = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
d = new Date();
s += d.getFullYear() + "年" + (d.getMonth() + 1) + "月" + d.getDate() + "日 ";
s += x[d.getDay()];
document.write(s);
</script>
</div>

效果如下:

2、版本二

分享一下本站使用的 JS 代码,不同时间段会显示不同的问候语,问候语内容大家可以自行修改,每小时对应一条。

<div id="user-profile" class="greetings">
<script type="text/javascript">
var x = new Array(
"梦是心灵的思想,晚安",
"月浅灯深,早些休息 ",
"晚上星月争辉,美梦陪你入睡 ",
"夜深了,熬夜很容易长痘痘的",
"你是夜猫子吗,要注意身体哦",
"夜有些深,心若累了就早点休息",
"清晨好,这么早就来啦,早安",
"新的一天开始了,祝你有一个好心情 ",
"一天之际在于晨,又是美好的一天",
"上午好,冲杯咖啡感受阳光的温暖吧",
"今天你看上去好精神哦",
"忙碌了一上午,该准备吃午饭啦",
"吃完午饭了吗,休息一下吧",
"茶余饭饱,看看窗外的风景",
"阳光暖暖的,享受美好的时光吧",
"下午茶时间到了,来杯咖啡吧",
"下午好,累了吗?",
"下午好,活动一下筋骨吧",
"太阳落山了,一起去看夕阳吧",
"晚上好,今天的心情怎么样?",
"忙碌了一天,累了吧?",
"清风伴明月,虫鸣伴君眠",
"这么晚了,早点儿休息吧",
"亲,这么晚了,还不休息吗?"
);
var day = new Date();
var nge_hour = day.getHours();
var nge_warmprompt = x[nge_hour]; // 此处原本为 if...else...写的,为了节约篇幅改用了数组的形式
document.write('<span>');
document.write(nge_warmprompt);
document.write("</span>");
//document.getElementById("greetings").innerHTML = nge_warmprompt;
</script>
</div>

效果如下:

PHP 版本

定义一个后台接口,然后在前端页面需要展示的地方调用接口显示问候语。

1、定义后台接口

在网站根目录下新建一个文件夹 greetings,在该文件夹下新建 api.php 文件,内容如下:

<?php
$contents = array(
"梦是心灵的思想,晚安",
"月浅灯深,早些休息",
"晚上星月争辉,美梦陪你入睡",
"夜深了,熬夜很容易长痘痘的",
"你是夜猫子吗,要注意身体哦",
"夜有些深,心若累了就早点休息",
"清晨好,这么早就来啦,早安",
"新的一天开始了,祝你有一个好心情",
"一天之际在于晨,又是美好的一天",
"上午好,冲杯咖啡感受阳光的温暖吧",
"今天你看上去好精神哦",
"忙碌了一上午,该准备吃午饭啦",
"吃完午饭了吗,休息一下吧",
"茶余饭饱,看看窗外的风景",
"阳光暖暖的,享受美好的时光吧",
"下午茶时间到了,来杯咖啡吧",
"下午好,累不吗?",
"下午好,活动一下筋骨吧",
"太阳落山了,一起去看夕阳吧 !",
"晚上好,今天的心情怎么样?",
"忙碌了一天,累了吧?",
"清风伴明月,虫鸣伴君眠",
"这么晚了,早点儿休息吧",
"亲,这么晚了,还不休息吗?"
);
if (isset($_GET['hour'])) {
    $hour = $_GET['hour']; 
} else {
    date_default_timezone_set('Asia/Shanghai');
    $hour = date("H");
}

$content = $contents[$hour]; // 此处原本为 if...else...写的,为了节约篇幅改用了数组的形式
//编码判断,用于输出相应的响应头部编码
if (isset($_GET['charset']) && !empty($_GET['charset'])) {
    $charset = $_GET['charset'];
    if (strcasecmp($charset, "gbk") == 0) {
        $content = mb_convert_encoding($content, 'gbk', 'utf-8');
    }
} else {
    $charset = 'utf-8';
}
header("Content-Type: text/html; charset={$charset}");
//格式化判断,输出js或纯文本
if ($_GET['format'] === 'js') {
    echo "function greetings(){;document.write('" . $content . "');}";
    //echo "document.getElementById('greetings').innerHTML = '". $content ."'";
} else {
    echo $content;
}

此时,通过浏览器访问 https://www.pieruo.com/greetings/api.php?format=js&charset=utf-8&hour=12,会显示如下内容(域名改成自己的):

2、在页面中调用

在页面指定位置调用接口,其中向后台传递了 hour 参数,为客户端时间中的小时。

<div id="user-greetings" class="greetings">
    <script type="text/javascript">
        var nge_hour = new Date().getHours();
        document.write('<script type="text/javascript" src="https://www.pieruo.com/greetings/api.php?format=js&charset=utf-8&hour=' + nge_hour + '"><\/script>');
         // var url = "https://www.pieruo.com/api/greetings/api.php?format=js&charset=utf-8&hour=" + nge_hour;
        // var s = document.createElement("script");
        // s.type = "text/javascript";
        // s.src = url;
        // document.getElementsByTagName("div")[0].appendChild(s);
    </script>
    <span><script>greetings()</script></span>
    <!-- <span id="greetings"></span> -->
    <div class="clear"></div>
</div>

效果如下:

结束语

本文简单分享了给网站或个人博客顶部添加动态问候语的实现方法,分 JS 版和 PHP 版两种,如果单纯为了展示效果,选择 JS 实现方式即可,PHP 版的实现方式可以作为参考。如果有任何意见或建议,欢迎在下方评论处留言。

喜欢 0
奋楫笃行,臻于至善!

相关文章

亚马逊云服务器免费使用一年最新申请教程

亚马逊云提供了每月 750 个小时的免费云服务器 EC2 使用服务,这对于小白站长来说真的是太香了,可以申请一台  1GB 内存、30GB 硬盘的 云服务器实例,免费使用一年。2019 年就曾写过一篇...
阅读全文

使用 PHP 类库 PHP QR Code 生成二维码

PHP QR Code 是一个 PHP 二维码生成类库,利用它我们可以很轻松地生成二维码,本站近期新增了一个扫二维码在手机端查看的功能,所以,想顺便分享一下使用 PHP 类库 PHP QR Code ...
阅读全文

PHP 随机图片接口 API 实现方案及源码分享

之前分享过一篇关于在网站中生成随机句子的文章 WordPress 博客集成 Hitokoto 一言经典语句功能,今天为大家再分享一下生成随机图片的过程,实现方案跟之前的一言生成方法类似,可以快速实现在...
阅读全文

修改 Chevereto 网站标题并让标题支持翻译

Chevereto 是一款优秀的图床程序,我们可以使用它来托管图片。默认情况下,Chevereto 的标题是不支持翻译的,如果我们想实现标题翻译,例如,在简体中文环境下,首页标题展示为 “夏日阳光 -...
阅读全文

如何修改 Chevereto 网站底部的版权说明信息

Chevereto 图床程序页面底部的默认版权信息是 Powered by Chevereto,如果我们想自定义底部的版权信息,比如加上备案号,可以通过修改程序的源代码来实现。本文分享一种比较简单通用...
阅读全文

修改 Chevereto 图床程序 给登录页面添加公共头部和尾部

默认情况下,Chevereto 图床程序注册和登录页面不显示公共头部和尾部,如果我们要显示公共的头部和尾部的话,可以通过修改源码实现。本文简单整理了一下修改的方法,如果你也想在登录页面显示公共头和尾的...
阅读全文

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注