检测Chrome是否从昨天恢复页面

时间:2017-12-11 09:35:05

标签: javascript google-chrome

我有一个带有日期输入字段的表单。如果加载页面,则输入将填充当前日期。但是,如果Chrome从昨天开始并恢复上次打开的标签页,则表单中始终存在昨天的日期。 如果我重新加载页面,它会显示正确的日期。但我希望Chrome能够立即显示当前日期。

任何聪明的想法如何解决这个问题?

更新:页面设置为cache-control:no-cache, private

2 个答案:

答案 0 :(得分:2)

我在页面上放置了日期字段和JavaScript。结果是从缓存加载页面。表单中仍有昨天的日期,JavaScript的执行方式与页面加载相同。如果我比较我可以检测旧页面的日期:

<input id="form_date" name="form_date" type="hidden" value="2017-12-19 17:52:08">
<script>
    // Day compare
    Date.prototype.sameDay = function(d) {
        return this.getFullYear() === d.getFullYear()
            && this.getDate() === d.getDate()
            && this.getMonth() === d.getMonth();
    };
    var x_today = new Date();
    var x_page_date = new Date($('#form_date').val());
    if (console && !x_today.sameDay( x_page_date )){
        console.log("Old page!");
        console.log('page date: ', x_page_date);
        console.log('today: ', x_today);
    }
</script>

从这里您可以重新加载页面或询问用户该做什么。

答案 1 :(得分:-2)

您可以使用ajax或获取服务器日期。