检测页面来自后退按钮的方法

Posted

技术标签:

【中文标题】检测页面来自后退按钮的方法【英文标题】:Method to detect page came from back button 【发布时间】:2012-11-05 14:23:30 【问题描述】:

我做了一个方法,当点击链接时在页面底部显示加载指示器。

当有人点击后退按钮时,它当然不会刷新页面内容,从而显示加载区域。

有没有办法检测页面是否来自重定向以触发删除加载指示器的方法?

有点像:

function cameFromeBackButton()
    //hide loading indicator

OR 是一种停止后退按钮并改为触发方法的方法吗?像这样:

function  backButtonClicked()
    //do stuff instead of going back

编辑:这就是该区域的名称

$('.link').click(function()
 //make loading area
 $('container').append(loadingAreaString)

 //grab the href and goto page
 window.location.href = $(this).attr('href');

 return false
)

【问题讨论】:

你能阻止页面的缓存版本显示,还是你希望缓存副本显示但仍然触发某些事情?如果是这样blog.55minutes.com/2011/10/… 看起来像一个服务器端解决方案,对吧?就我而言,这一切都需要在客户端。抱歉没有具体说明。 显示加载指示器的函数是怎么调用的? 【参考方案1】:

您可以从服务器传输一些令牌并将其存储在 cookie 或本地存储中。当存储的令牌与嵌入在页面中的令牌不同时 - 这意味着页面是从服务器加载的,如果值相等 - 这意味着页面是从缓存(或后退按钮)提供的。

【讨论】:

试图这样做,但当我回击时它不会读取存储空间。 这里是关于在返回按钮***.com/questions/2638292/…987654321@之后强制 JS 运行的答案

以上是关于检测页面来自后退按钮的方法的主要内容,如果未能解决你的问题,请参考以下文章

使用浏览器后退按钮时如何强制重新加载页面?

React Router v4 - 如何检测后退按钮导航与 url 刷新?

如何使用角度检测浏览器后退按钮单击事件?

jquery mobile+html5 写的页面 如何禁用手机后退按钮。或者说如何禁用页面后退。

用iframe后 点后退按钮时总是在潜套框里后退,如何让整个父页面整体后退呢?

如何用jQuery禁用浏览器的前进后退按钮