wp231957 发表于 2020-3-12 17:46:30

这个获取系统年月的问题,是怎么个问题

代码:
<script>
   $(document).ready(function(){
            var myDate = new Date();
            var year=myDate.getFullYear();
            var month=myDate.getMonth()+1;
            var date=myDate.getDate();
            str="";
            for (i=1950;i<2049;i++){
                str+="<option value='"+i+"'>"+i+"年</option>";
            }
            $("#year_select").append(str);
            $("#year_select").find("option:contains('"+year+"年')").attr("selected",true);
            str="";
            for (i=1;i<13;i++){
                str+="<option value='"+i+"'>"+i+"月</option>";
            }
            $("#month_select").append(str);
            $("#month_select").find("option:contains('"+month+"月')").attr("selected",true);
            //console.log(str)
            //console.log(month);
            
   });
    </script>
代码的本意是 让网页的select元素 自动显示当前系统的年份月份   
好,问题来了:
首次运行 ,没有问题,select里老老实实的待着当前系统的年月
那么我们修改一下系统日期(windows 右下角) 此时,无论如何刷新当前页那个select里 当前显示值 就是没有变化,但是,把网页关掉重新打开又能正常显示了

542624047 发表于 2020-3-12 20:54:43

可能是因为浏览器缓存机制的原因吧,你之前获取过时间,信息已经存在缓存中,没有到缓存过期时间,所以数据还没有进行更新.所以出现这么个情况,系统时间修改但是缓存中的时间却没有更改.话说这个情况会有应用么?在第一次加载的时候能够获取到正确时间不就好了么?
推荐给你个阅读看看,希望能对你有帮助 https://segmentfault.com/a/1190000017962411

wp231957 发表于 2020-3-12 21:19:14

542624047 发表于 2020-3-12 20:54
可能是因为浏览器缓存机制的原因吧,你之前获取过时间,信息已经存在缓存中,没有到缓存过期时间,所以数据还没 ...

我知道没啥用,只是想知道为什么
页: [1]
查看完整版本: 这个获取系统年月的问题,是怎么个问题