javascript - 如何检测 Safari 中刷新按钮和后退按钮之间的差异

标签 javascript jquery refresh back

我使用此代码块在页面刷新时删除 sessionStorage。

if (window.performance) { 
   if (performance.navigation.type == 1) { 
      sessionStorage.removeItem("rowsCache"); 
   } 
}

它可以工作,但是,window.performance 在 mac safari 9 上抛出未定义的错误。 还有其他选择吗?

最佳答案

当用户第一次访问时在 session 存储中存储一个值:)

function f()
        {
          if(typeof sessionStorage != 'undefined'){
            if(!sessionStorage.getItem('visited')){ //first time visiting
                sessionStorage.setItem('visited',true);
            }else{ //refresh
              sessionStorage.removeItem("rowsCache");
            }
           }
        } 

另一种选择:

function unload() {
     sessionStorage.removeItem("rowsCache");
}

window.onbeforeunload = unload;

关于javascript - 如何检测 Safari 中刷新按钮和后退按钮之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46271231/

相关文章:

javascript - 图像不显示为 div 上的背景图像

javascript - 刷新带有 <script> 标签的 div

ios - 我如何知道我的应用程序是由于后台刷新而启动的?

javascript - componentDidMount 和 XMLHttpRequest 加载数据两次但 JSON 无效

javascript - 检测附近的其他物体

javascript - 从相位器 Canvas 获取高度和宽度

objective-c - UIWebView 不刷新

javascript - SugarCRM - 如何将 onClick 事件添加到现有 HTML/Checkbox

javascript - 显示选择单选按钮的内容

javascript - jQuery Ajax 提交帖子未收到成功消息