防止浏览器在历史记录中存储当前页面

问题描述 投票:0回答:2

我有一种情况,我在我的网站上打开一个用户启动的弹出窗口,指向另一个站点。用户不应直接访问此页面,并且只有在网站打开弹出窗口时才能在正常情况下访问此页面。

mysite.com -> mysite.myothersite.com

我注意到弹出窗口页面出现在历史记录中,更糟糕的是,出现在地址栏自动填充建议中。

此弹出窗口应该执行一次性实用程序操作,因此用户在其历史记录或自动填充建议中使用此操作没有用。但是,用户直接访问此弹出窗口(假设是偶然)。

虽然我不能阻止任何人这样做,但我想知道是否有可能让该页面不在浏览器历史记录中记录。它搞乱了我的分析。

javascript browser popup browser-history
2个回答
1
投票

您可能想要查看history.replaceState提供的history API功能。

如果弹出窗口在同一位置提供,只需在弹出窗口的JavaScript中执行history.replacestate({}, 'mypage', '/my-page-address')即可。这样,它用myothersite历史记录条目替换mypage历史记录条目,而不是使用mypage,您可以使用原始页面的标题和地址。


-1
投票

这是国家发挥作用的地方。在请求弹出窗口时,放置一些允许弹出窗口打开的指示器,然后当用户请求它时,清除该指示器。这种类型的信息通常通过后端会话状态完成,但也可以通过前端完成,但具有可靠性命中。

© www.soinside.com 2019 - 2024. All rights reserved.