PiT*_*ber 6 javascript google-chrome
我有一个带有日期输入字段的表单.如果加载页面,则输入将填充当前日期.但是,如果Chrome从昨天开始并恢复上次打开的标签页,则表单中始终存在昨天的日期.如果我重新加载页面,它会显示正确的日期.但我希望Chrome能够立即显示当前日期.
任何聪明的想法如何解决这个问题?
更新:页面设置为cache-control:no-cache, private.
我在页面上放置了一个日期字段和一个 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>
Run Code Online (Sandbox Code Playgroud)
从这里您可以重新加载页面或询问用户要做什么。