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

Alert referrer when user GOES back with browser button

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

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

但是不起作用。这个想法是,例如,如果用户在 url 上:www.domain.com/page2.php 和 return 到上一个按钮的上一个浏览器,在上一个 上显示,例如,www.domain.com/page1.php 内容为

的警报消息

www.domain.com/page2.php

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

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

有人知道为什么吗?

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

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

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