防止浏览器在历史记录中存储当前页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防止浏览器在历史记录中存储当前页面相关的知识,希望对你有一定的参考价值。
我有一种情况,我在我的网站上打开一个用户启动的弹出窗口,指向另一个站点。用户不应直接访问此页面,并且只有在网站打开弹出窗口时才能在正常情况下访问此页面。
mysite.com -> mysite.myothersite.com
我注意到弹出窗口页面出现在历史记录中,更糟糕的是,出现在地址栏自动填充建议中。
此弹出窗口应该执行一次性实用程序操作,因此用户在其历史记录或自动填充建议中使用此操作没有用。但是,用户直接访问此弹出窗口(假设是偶然)。
虽然我不能阻止任何人这样做,但我想知道是否有可能让该页面不在浏览器历史记录中记录。它搞乱了我的分析。
答案
您可能想要查看history.replaceState
提供的history API功能。
如果弹出窗口在同一位置提供,只需在弹出窗口的javascript中执行history.replacestate({}, 'mypage', '/my-page-address')
即可。这样,它用myothersite
历史记录条目替换mypage
历史记录条目,而不是使用mypage
,您可以使用原始页面的标题和地址。
另一答案
这是国家发挥作用的地方。在请求弹出窗口时,放置一些允许弹出窗口打开的指示器,然后当用户请求它时,清除该指示器。这种类型的信息通常通过后端会话状态完成,但也可以通过前端完成,但具有可靠性命中。
以上是关于防止浏览器在历史记录中存储当前页面的主要内容,如果未能解决你的问题,请参考以下文章