javascript - 当用户使用浏览器按钮返回时提醒推荐人

标签 javascript browser-history

我正在尝试显示(提醒)上一页的 URL。 所以……

<script>
var referrer =  document.referrer;
alert(referrer);
</script>

但是不起作用。这个想法是,例如,如果用户在 url 上:www.domain.com/page2.php 并使用浏览器的上一个按钮返回上一个,例如 show on the previous , www.domain.com/page1.php 带有内容的警告消息

www.domain.com/page2.php

当我对包含代码的页面 (www.domain.com/page1.php) 收费时,代码显示空警报。

但是当我转到页面 www.domain.com/page2.php(在表单中有一个按钮)然后单击浏览器的返回箭头时,代码没有执行。

谁知道为什么?

最佳答案

使用后退按钮时代码不执行的原因是因为使用了称为后退缓存的东西。这是一篇关于它的 MDN 文章:https://developer.mozilla.org/en-US/Firefox/Releases/1.5/Using_Firefox_1.5_caching .

基本上,这意味着页面的状态在导航离开时被卡住并保存。然后当使用后退按钮返回该页面时,将显示保存的副本,使页面立即加载,但也会使其返回到页面离开时的确切状态。由于您的脚本已经在页面上运行过,因此不会再次运行。

要让您的警报在每次页面加载时显示,即使是从缓存中加载,您应该将其放在 pageshow 事件监听器中,而不是仅在脚本标记加载时运行。

关于javascript - 当用户使用浏览器按钮返回时提醒推荐人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32162611/

相关文章:

javascript - 使用 JS 访问用户的历史记录

javascript - backbone 和 history 推送状态

browser - 跨浏览器历史同步

javascript - window.location.href 与 history.pushState - 使用哪个?

javascript - 如何将多个 Axios 调用链接在一起,以便它们同步运行并且每个调用都可以使用前一个调用返回的数据

javascript - 使用 Facebook 登录 Firebase - 如何获取更大的个人资料图像 - javascript

php - 获取提交数据的 id 返回 NaN

javascript - WEBRTC 可以使用共同浏览功能吗?

javascript - 将新行添加到 jqGrid 控件后如何运行 JavaScript 函数?