停止浏览器存储访问历史记录
Stop browsers storing history of a visit
我目前正在为一个妇女避难所开发一个网站。由于这是非常敏感的信息,对于那些使用该网站,我想阻止浏览器存储他们的任何访问历史。是否可以使用HTML5 History API之类的东西?理想情况下,它也可以在IE6+中工作,因为有很多人使用旧版本的IE。
我知道浏览器有隐私浏览模式,但大多数人不知道,所以一些自动的方式将是最好的。
一个潜在的(虽然不太受欢迎)解决方案是提示人们使用隐私浏览模式,如果他们目前没有这样做。有可能通过JavaScript检测到这一点吗?
编辑:我接受了Virgil的回答,因为教育是最好的选择,因为他们可能也需要将他们学到的东西应用到其他网站上。我还使用约瑟夫的location.replace
上的隐藏我的访问按钮,所以它禁用后退按钮。
值得注意的一件有趣的事情是,我尝试在网站上的所有链接上使用history.replace
,认为这将取代所有的浏览器历史记录,这意味着只有最后浏览的页面才会被记住。然而,在Firefox中打开历史面板(没有在其他浏览器中测试过),仍然会显示每个浏览页面的日志,只是无法通过后退按钮访问。
对
Ric
不幸的是这是不可能的。用户必须采取行动删除他们的历史记录。我建议你发布一个警告,这样女性就可以删除她们的历史记录,你还可以在每个主要浏览器上添加说明。至于HTML5和JavaScript,这在IE6中是不可能的,因为它不支持HTML5。
一种方法是使用location .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>
或类似.
嗯,虽然我不认为你可以"强迫"用户使用隐私浏览,但你可以给他们每一个避免历史记录的机会。
例如,让站点尝试存储cookie(来自服务器和使用javascript之类的语言)。如果服务器可以在下次访问时重新检测到cookie,则将其重定向到"使用隐私浏览[并在此说明如何使用]或自行承担风险"的着陆页面。
这是唯一的解决办法。
当然,我也会实现SSL,但我认为这是更隐含的
难道解决方案不是使用HTTPS吗?我很确定浏览器不会存储这些网站的历史记录。
- window.location替换并传递URL历史记录条目中的变量
- Javascript历史记录转换为php行
- 浏览器何时记录历史记录
- 输入类型按钮返回历史记录并返回顶部
- HTML5历史记录-返回上一个完整页面按钮
- asp.net网站文件下载历史记录
- 使用Ajax的后退按钮历史记录,URL中没有散列
- 历史记录和通过JavaScript修改的HTML
- Javascript:历史记录未加载页面
- 通过js设置页面历史记录和页面内容
- 如果没有历史记录,我如何隐藏图像或按钮onclick=;历史.go(-1);
- 将HTML表单发布到iframe会导致浏览器历史记录出现问题
- 如何防止浏览器在历史记录中缓存HTML
- 如何将新的stateObject添加或附加到历史记录中
- 检查浏览器后退按钮历史记录
- React-router 在添加历史记录后不会渲染组件
- 如何返回可用的历史记录状态数
- 引导选项卡不适用于历史记录.返回选项
- 记录 iframe 的历史记录
- 计算历史记录中的页数