Javascript 停止浏览器存储访问历史记录

Javascript 停止浏览器存储访问历史记录,javascript,html,browser-history,Javascript,Html,Browser History,我目前正在开发一个妇女庇护所网站。因为这对那些使用该网站的人来说是非常敏感的信息,我想阻止浏览器存储他们访问的任何历史记录。这是否可能使用HTML5历史API之类的东西?理想情况下,它也可以在IE6+中工作,因为有很多人使用旧版本的IE 我知道浏览器有私人浏览模式,但大多数人不知道,所以一些自动方式最好 一个潜在的(尽管不太受欢迎)解决方案是,如果人们目前不使用私人浏览模式,则提示他们使用私人浏览模式。是否可以通过JavaScript检测到这一点 编辑:我接受了维吉尔的答案,因为教育是最好的选择

我目前正在开发一个妇女庇护所网站。因为这对那些使用该网站的人来说是非常敏感的信息,我想阻止浏览器存储他们访问的任何历史记录。这是否可能使用HTML5历史API之类的东西?理想情况下,它也可以在IE6+中工作,因为有很多人使用旧版本的IE

我知道浏览器有私人浏览模式,但大多数人不知道,所以一些自动方式最好

一个潜在的(尽管不太受欢迎)解决方案是,如果人们目前不使用私人浏览模式,则提示他们使用私人浏览模式。是否可以通过JavaScript检测到这一点

编辑:我接受了维吉尔的答案,因为教育是最好的选择,因为他们可能需要将所学知识应用到其他网站上。我还使用了Joseph的
位置。替换隐藏我的访问按钮上的
,使其禁用后退按钮

值得注意的一件有趣的事情是,我尝试在网站上的所有链接上使用
历史记录。替换
,认为这将替换所有浏览器历史记录,这意味着只会记住最后查看的页面。然而,在Firefox中打开历史面板(没有在其他浏览器中测试过),仍然会显示查看的每个页面的日志,只是通过后退按钮无法访问

因此,对于任何有类似疑问的人,我想重申,教育用户是保护他们的第一步。谢谢大家的建议

问候


Ric

好吧,虽然我认为你不能“强迫”用户使用私人浏览,但你可以给他们所有的机会来避免历史记录

例如,让站点尝试存储cookie(既来自服务器,也使用javascript等语言)。如果服务器可以在下次访问时重新检测cookie,请将其重定向到“使用私人浏览[和这里的方法]或自行承担风险”的登录页

这大概是唯一的解决办法


一、 当然,它也将实现SSL,但我认为这更隐含。

实现它的一种方法是使用locarion.replace(url)使所有导航完全通过javascript。这不会保存历史状态,但也意味着用户也不能真正使用书签。对于链接,它将类似于此

<a href="javascript:location.replace(location.host + '/wherever.html')" href="wherever.html">wherever</a>



或类似情况。

不幸的是,这是不可能的。必须采取用户操作来删除其历史记录。我建议你发布一个警告,这样女性就可以删除她们的历史记录,你还可以为每个主要的浏览器添加说明。关于HTML5和JavaScript,这在IE6中是不可能的,因为它不支持HTML5

解决方案不是使用HTTPS吗?我敢肯定浏览器不会存储这些站点的历史记录。

有用:好主意,祝你的伟大事业好运!一种解决方案是让某些有用的、无害的合作伙伴以AJAX方式加载页面,或者通过代理等方式加载页面,这使得第二个用户无法重新访问。也许做一个一次性的链接,通过代理指向你的站点,然后把这个一次性的链接销毁或者指向其他地方。谢谢,我看了这个链接。有意思的东西@尼古拉斯,谢谢你!好奇的配偶实际上不会看到abuserefuge.org,而是somesite.org——但当他访问该网站查看时,他仍然会看到它是关于什么的。你可以加入各种各样的黑客攻击等,这可能会掩盖历史,但你最好还是教育你的用户。这样,他们就可以选择是否要抹去历史。有些人可能希望使用他们的历史记录。不过,你可以让他们更容易使用:一个不可疑的域名,只有一个页面访问,其余的使用AJAX收费(只有一个历史记录行需要删除,而不是50个),没有cookie,没有电子邮件注册,恐慌按钮,视频教程…@LeeTheobald,Virgil,我们在网站上有几个大按钮,告诉人们如何使用私人浏览模式,还有一个紧急按钮。他们有一个稍微俗气的动画来吸引用户的注意,但我认为他们的好处超过了风格上的考虑!谢谢你的建议,那不是真的。无论是否使用HTTPS,浏览器都可以自由地存储历史记录,而且实际上是这样做的。
<a href="#" onclick="location.replace(location.host + 'wherever.html'); return false;">wherever</a>