javascript - 检测刷新和重新加载之间的差异

标签 javascript jquery html browser reload

我已经填写了包含我的全名和地址的表格。当我按下 ⌘R 时,页面刷新了,但表单仍然包含我填写的数据。

当我通过 Google Chrome 左上角的重新加载按钮重新加载网页时,表单将为空。

我如何使用 JavaScript(或 jQuery)检测这种差异?


我试过这个:

$(window).on('load', function(){

     localStorage.setItem('gForm_isDone', '{"0":false,"1":false,"2":false,"3":false,"4":false,"5":false,"6":false,"7":false,"8":false,"9":false,"10":false,"11":false}');
     console.log('localStorage emptied');

     console.log(localStorage.getItem('gForm_isDone'));

});

在我的场景中,我想清空 localStorage,但只有在页面重新加载时才清空,而不是在刷新时清空。

最佳答案

使用window.onbeforeunload 函数检查刷新/重新加载是否被按下并处理事件localStorage.clear()

window.onbeforeunload = function(){
 var message = 'Are you sure you want to reload?';
  if (typeof evt == 'undefined') {
    evt = window.event;
  }
  if (evt) {
    evt.returnValue = message;
  }
  return message;
}

关于javascript - 检测刷新和重新加载之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45584184/

相关文章:

javascript - 使文本/答案选择在 qualtrics 中消失/重新出现

javascript - 根据下拉选择自动显示数据

javascript - 添加到 Jquery-ui 可排序列表

javascript - 粘性列中的 ag-grid 菜单

javascript - 垫分页器没有显示

javascript - 我需要帮助从 Canvas 中删除图像

javascript - document.ready() 和其他定义函数中的局部变量

javascript - jqgrid:对日期列进行排序时 MySQL 的特定问题

javascript - 如何在对象[object HTMLCollection]上插入Mysql数据文本

javascript - 打开预先存在的页面并更改其中的一部分