我有一个类似的URL:
https://localhost:8081/test.php#param1=test¶m2=敏感数据
"param2"参数有些敏感,所以我不想在浏览器的历史记录中出现它。
我正在使用以下代码:
window.location.replace("#");
这有效地从Chrome中的用户历史记录中删除了数据,但数据仍保留在Firefox中。在Firefox中有办法做到这一点吗?
我试过
history.replaceState(null, null, ' ');
但这在Chrome或Firefox上不起作用,数据仍保留在用户历史记录中。
提前感谢
嗯,经过一些研究,似乎不可能做到我需要的。根据这个错误报告:
对于Firefox:history.replaceState创建新的历史项目
Chrome 28:位置.replace和历史.replaceState都创建新全局历史UI中的条目。Chrome 30:location.replace更新现有条目history.replaceState创建新条目Opera 12:location.replace和history.replaceState都不创建新条目(但都没有更新现有条目(Opera 15:有时location.replace创建一个新条目,有时会更新现有条目一(不知道标准是什么(。history.replaceState始终创建一个新条目。Safari 6:位置.replace和history.replaceState在全局历史UI中创建新条目。
因此,似乎没有可靠的方法从用户的历史记录中删除数据。
Mmh尝试这些解决方案,也许一起:
-
javascript:use history.replaceStatehttps://developer.mozilla.org/en-US/docs/Web/API/History_API
-
服务器端:http标头:无缓存标头
-
服务器端:http头:重定向类型(302303307308(