【问题标题】:How to Enable/Disable browser history through js如何通过js启用/禁用浏览器历史记录
【发布时间】:2023-04-08 14:54:01
【问题描述】:
我们可以通过 java 脚本代码启用或禁用浏览器历史记录吗?
如果可能,请告诉我执行此操作的机制。
【问题讨论】:
标签:
javascript
web-applications
browser-history
【解决方案1】:
我认为这是不可能的。
你可以尝试使用document.location.replace()它用于清除历史记录中的最后一个条目并将其替换为新url的地址。
【讨论】:
-
根据MDN window.location.replace() 确实“用提供的URL替换当前资源”。 Safari (14.0.3) 和 Chrome (90) 执行此操作。但是,Firefox (88) 确实保留了历史记录中的原始条目。
【解决方案2】:
如果 url 或 url-fragment 发生变化,条目将被添加到浏览器历史记录中。意味着,浏览器将显示导航按钮。当用户单击它们时,地址栏中会显示上一个 url 或片段。您的应用程序可以忽略它做一些事情。如果您正在寻找一种没有历史记录和导航链接的单页应用行为,那么您不应该更改初始 url 或其中的一部分。