除了从浏览器本身清除之外,如何使用 JavaScript 或 Java 清除浏览器(IE、Firefox、Opera、Chrome)历史记录?
除了浏览器本身之外,如何使用 JavaScript 或 Java 清除浏览器(IE、Firefox、Opera、Chrome)历史记录?
IT技术
javascript
browser-history
2021-01-31 03:13:16
4个回答
浏览器中的 document.location 数据通常无法被脚本访问,因为允许访问将使任何给定站点访问您的整个浏览历史记录。您最多可以进行一些简单的操作,例如“转到历史条目#37”或“返回一页”。但是你不能做“历史条目#23 中页面的地址是什么”。
大多数银行网站将使用 javascript 链接来防止建立点击历史记录。他们将执行 document.location.replace" 来终止最后一个历史条目(当前页面)并将其替换为新页面的地址。它实际上删除了返回页面的“back”选项,因为前一个页面(就浏览历史而言)现在是新页面。
简而言之,这是不可能的,沙盒可以防止浏览器和它们运行的脚本/小程序修改甚至创建任何文件,少数情况除外。允许 Javascript 和 Java 小程序清除缓存中的其他网站 cookie 或网站内容是不可取的。
浏览器无法让您清除其缓存。如果可能的话,这将是一个巨大的安全问题
您可以做的是通过发送适当的标头或使用这些元标记来告诉它不要缓存您的页面:
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
我想指出的是,如果您正在处理敏感数据,则应该使用 SSL。如果您不使用 SSL,任何有权访问网络的人都可以嗅探网络流量并轻松查看您的用户所看到的内容。
除非明确告知,否则使用 SSL 还会使某些浏览器不使用缓存。看到这个问题。Web 浏览器是否会通过 https 缓存内容
但是如果你想清除实际页面,你可以使用:
$(function () {
//replace() does not keep the originating page in the session history,
document.location.replace("/Exercises#nocache"); // clear the last entry in the history and redirect to new url
});