我们可以通过java脚本代码启用或禁用浏览器历史记录吗? 如果可能的话,请告诉我这样做的机制。
答案 0 :(得分:4)
我认为这是不可能的。
您可以尝试使用document.location.replace()
吗?它用于清除历史记录中的最后一个条目,并将其替换为新网址的地址。
答案 1 :(得分:2)
如果url或url-fragment更改,则条目将添加到浏览器历史记录中。意思是,浏览器会显示导航按钮。当用户单击它们时,前一个URL或片段将显示在地址栏中。您的应用程序可以忽略它对它做一些事情。如果正在寻找没有历史和导航链接的单页应用程序行为,那么您不应该更改初始URL或部分URL。
答案 2 :(得分:2)
这篇文章可能会有所帮助: How to clear browsers (IE, Firefox, Opera, Chrome) history using JavaScript or Java except from browser itself?
像YUI这样的JS框架表明我们无法删除历史记录项,但您可以使用历史记录执行其他一些操作。摘录自YUI文档 -虽然无法从浏览器历史记录中删除条目,但可以创建新条目(或替换当前条目)并删除先前设置的一个或多个状态值。为此,请使用null或undefined添加或替换一个或多个值。
,请参阅此处答案 3 :(得分:1)
如果您需要启用历史记录支持的浏览器,则可以使用Modernizr插件,不支持的历史浏览器将被禁用。
if (Modernizr.history) {
//Code goes here that works if it's HTML 5 Browser with .history support?
// I know some HTML5 browsers deal with .history oddly (read buggy) so what
// happens in those cases?
} else {
// disable code
}
点击此链接https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history