2023年11月

前段些天发现每过一段时间电脑的时间总会出现一些误差,之前总是使用自带的授时服务器(ntp)进行更新,但是经常遇到更新失败的问题,后来听liangke说他都是使用国家授时中心的ntp服务,由于是国内网络连接比较好,很快就可以同步完成。就决定也使用国内的ntp服务。

那天,想到自己手上一直荒废的域名 t.hm ,似乎还比较合适,就解析了过去。你还别说,效果还不错呢。

后来又做了个显示时间的页面 https://www.t.hm
其中使用了JQuery的AJAX和定时任务两非常实用的功能,就记在这里,说不定还用的上的。

这里主要用了两个插件:dayjs 和 jquery。

哦,还有一个很奇葩的BUG,Safari浏览器不支持解析yyyy-mm-dd格式的时间,所以需要修改时间格式(我这里用的是/代替的-)。

<script>
    // 初始化时间变量
    var localTime;

    getServerTime();
    setInterval(getServerTime, 10 * 60 * 1000); 

    // 每秒更新本地时间显示
    setInterval(updateLocalTime, 1000);

    // 函数:获取服务器时间
    function getServerTime() {
        $.ajax({
            url: 'time.php',
            type: 'GET',
            success: function(response) {
                setLocalTime();
            },
            error: function() {
                // 处理请求失败的情况
            }
        });
    }

    // 设置服务器时间为当前时间
    function setLocalTime() {
        if (serverTime) {
            localTime = new dayjs(serverTime);
        }else{
            console.log('serverTime:'+serverTime);
        }
    }

    // 函数:更新本地时间显示
    function updateLocalTime() {
        if (localTime) {
            tmp = dayjs(localTime).format('YYYY-MM-DD HH:mm:ss ZZ');
            $('#time').text(tmp);
            $("#title").text(tmp+' - t.hm 授时服务');
            localTime = dayjs(localTime).add(1,'s');
        }
        //console.error('localTime:'+localTime);
    }
</script>

本来想要随便放一个小视频的,结果丢上去之后各个浏览器显示结果很不一样,折腾了半天算了稍微顺眼一点点,为了防止以后再遇到,就放这里做个笔记,说不定什么时候又用的上呢。

    <script type="text/javascript">
        var ww = $(window).width();
        var hh = $(window).height();

        var video = $('#myVideo');

        video.on('loadedmetadata', function() {
            var videow = video.prop('videoWidth');
            var videoh = video.prop('videoHeight');
            var nn = videow/videoh;
            var xw = xh = 0;

            if(ww>videow && hh>videoh){
                xw = videow * 0.9;
                xh = videoh * 0.9;
            }else if(ww/hh > nn) {
                xh = hh * 0.6;
                xw = xh * nn;
            }else{
                xw = ww * 0.95;
                xh = xw / nn;
            }
            video.width(xw);
            video.height(xh);
        });
    </script>