停止存储访问历史的浏览器

时间:2011-10-25 15:59:39

标签: javascript html browser-history

我目前正在为女性避难所开发一个网站。由于这是使用该网站的人非常敏感的信息,我想阻止浏览器存储他们访问的任何历史记录。是否可以使用HTML5 History API之类的东西?理想情况下它也适用于IE6 +,因为有很多人使用旧版本的IE。

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

一种潜在的(虽然不太优选)解决方案是提示人们使用私人浏览模式(如果他们目前不这样做)。是否可以通过JavaScript检测到这一点?

编辑:我已经接受了Virgil的答案,因为他们可能需要将他们学到的东西应用到其他网站,因此他们可能需要将其学习。我还在隐藏我的访问按钮上使用了约瑟夫的location.replace,因此它会禁用后退按钮。

有一点需要注意的是,我尝试在网站上的所有链接上使用history.replace,认为这将取代所有浏览器历史记录,这意味着只记住查看过的最后一页。然而,在Firefox中打开历史记录面板 - 未在其他浏览器中测试 - 仍然显示每个页面的日志,它们只能通过后退按钮访问。

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

此致

里克

4 个答案:

答案 0 :(得分:3)

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

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

<a href="#" onclick="location.replace(location.host + 'wherever.html'); return false;">wherever</a>

或类似。

答案 1 :(得分:3)

不幸的是,这是不可能的。必须采取用户操作才能删除其历史记录。我建议您发出警告,以便女性可以删除其历史记录,并且可以包含每个主要浏览器的说明。关于HTML5和JavaScript,这在IE6中是不可能的,因为它不支持HTML5。

答案 2 :(得分:0)

嗯,虽然我认为你不能“强迫”用户使用隐私浏览,但你可以给他们一切机会来避免历史。

例如,让网站尝试存储cookie(来自服务器并使用类似javascript的语言)。如果服务器可以在下次访问时重新检测到Cookie,请将其重定向到“使用隐私浏览[以及如何使用]或自行承担风险”这种着陆页。

关于它的唯一方法。

当然,我也会实施SSL,但我认为这更为隐含。

答案 3 :(得分:-4)

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