javascript - 如何在不离开页面的情况下更改浏览器中显示的 URL

标签 javascript url browser-history

是否可以使用 JavaScript 更改浏览器的 URL,但不离开页面?

最佳答案

在旧版浏览器中,您不能在不离开页面的情况下更改地址栏中的 url。但是您可以在不离开页面的情况下更改 url 的哈希部分。也就是说你可以改www.example.comwww.example.com#new_text使用 JavaScript window.location.hash = "new_text" ; # 之后的所有内容可以改变。

但是,在 HTML5 中有一个新的 History API,它允许您更改域后的 URL 部分。所以你还是不能改变www.example.comwww.BankOfAmerica.com (出于安全原因),但您可以更改 www.example.com/foowww.example.com/bar .

history.pushState("object or string representing the state of the page", "new title", "newURL");

检查 When can I use...查看哪些浏览器支持 HTML5 session 历史管理并支持新的 pushState方法。

此外,还有一个 JavaScript 库,它将跨浏览器规范化历史 API,并在新浏览器中更改 URL,并在旧浏览器中使用哈希部分。参见 history.js .

关于javascript - 如何在不离开页面的情况下更改浏览器中显示的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4089178/

相关文章:

HTML 迷你浏览器后退按钮禁用

html - 使用 history.pushState/popstate 时如何将 chrome 更改为像 firefox 一样

Javascript 多人游戏 - 服务器端验证。

javascript - token '&&' 在此版本中不是有效的语句分隔符

javascript - JS 定位特定 div 中的图像,即使它们共享类

android - 在我的应用程序中处理我的网站 URL

ios - Moovit 集成导致崩溃

javascript - Aurelia - 根据选择选项显示/隐藏元素

objective-c - 在 Objective C 中将相对 URL 更改为绝对 URL

javascript - 从上一页访问数据层