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

标签 javascript jquery ajax html

我目前正在编写一个复杂的 AJAX 应用程序,整个网站都有干净的 URL。目前 PHP 为每个页面创建了基本布局,但是我不想在用户单击链接时离开每个页面,而且我不想在 URL 中有哈希值,因为它不会不适合网站的其余部分。我知道这在网站上已经出现过,而且似乎很常见,但我想知道是否有一种简洁的 HTML5 方法可以改变地址栏中的 URL,即使它在技术上保持不变页面。

最佳答案

您可以使用 history.pushState 来实现,但仅限于支持它的浏览器。只需在浏览器的 JavaScript 控制台中尝试以下行。

history.pushState({},"URL Rewrite Example","https://stackoverflow.com/example")

更多信息请参见 The pushState() method (Mozilla Developer)

类似问题How do I, with JavaScript, change the URL in the browser without loading the new page?

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

相关文章:

javascript - Ajax调用PHP类返回数组,数组索引返回undefined

javascript - 调用跨域 API 时出错

javascript - 通过 JSON 返回不存在的变量的 Ajax 调用,我无法删除或更改

php - AJAX 不发送数据/可能语法不正确?

c# - AJAX 路径不对

php - 向 AJAX 调用提供结果时 print_r 和 echo 有什么区别?

javascript - Particle Js Canvas 在其他 div 中溢出

向迭代器添加 "return"方法的 JavaScript 无法正确关闭迭代器

jquery - 如何使用 jQuery Validate 在字段为空时显示错误 onblur?

javascript - Ajax 请求和填充