我正在尝试显示(提醒)上一页的 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/