当前位置: 首页 > 面试题库 >

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

王君墨
2023-03-14
问题内容

我目前正在编写一个复杂的AJAX应用程序,并且整个站点都有干净的URL。目前,PHP为每个页面创建基本布局,但是当用户单击链接时,我不想离开每个页面,也不想在URL中包含哈希,因为它不会不适合该网站的其他部分。我知道这已经增加了网站上的负载,这似乎是很常见的问题,但是我想知道是否存在一种整洁的HTML5方法,即使技术上保持不变,它似乎也只是更改地址栏中的URL页。


问题答案:

您可以使用进行操作history.pushState,但只能在支持该功能的浏览器中进行。只需在浏览器JavaScript控制台中尝试以下行。

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

更多有关PushState()方法的信息(Mozilla
Developer)



 类似资料:
  • 问题内容: 如何在不刷新页面的情况下更改URL? 我已经用CodeIginer建立了一个网站,我想在我的页面之一中实现AJAX和JQuery。问题是; 当我加载内容时,URL不会改变。 假设我有URL 和另一个URL: 单击按钮时如何将第一个URL更改为第二个URL? 问题答案: 在HTML5中,您可以更改URL: 检查http://spoiledmilk.com/blog/html5-chang

  • 问题内容: 嗨伙计, 我注意到,Github.com不会在浏览存储库时强制用户下载网页,而是使用AJAX来刷新页面内容。 Github还将浏览器地址栏更改为代表内容的真实地址。我不知道如果不通过在URL中使用#标签来实现这一点。 简而言之: github使用ajax加载新网页,而无需使用标签。他们如何做到这一点? 有任何想法吗? 问题答案: 通过使用: 这是HTML 5中的新功能。 您的网址将更改

  • 问题内容: 转到任何GitHub 页面,然后单击任何目录/文件,并观察URL的更改方式,但仅更新页面的一部分。没有整个页面重新加载。 我如何使用jQuery做类似的事情? 这对大多数浏览器都有效吗(我使用的是Chrome)? 问题答案: 他们使用历史记录API,或者专门使用。 您可以使用它,不需要jQuery,但是有一些插件,例如history.js。 这适用于大多数浏览器,即Chrome,Saf

  • 以下是图片: 我有一个带有表单的html/jsp页面。 当用户按下提交按钮时,我想将表单中包含的信息发送到servlet,然后servlet将进行一些处理并返回字符串。 然后将该字符串发送到另一个servlet,该servlet将保存一个文件。 我已经将servlet保存到文件中: 我有两个问题: > 如何将值从servlet返回到调用它的HTML页面,并从那里访问它们?

  • 我有一个带有视频播放器窗口的react js应用程序。我有一个管理面板,可以更改显示的视频的url。 我想当管理员改变显示的视频时,显示的视频在用户的另一边,改变而不刷新页面。 我怎么能那样做?

  • 问题内容: 这是阿贾克斯 这可行,但是我希望更改URL,因为我在那里有很多参数,当然还有该参数。 问题答案: 您可以对成功的动作执行此操作: 有关基本操作方法,请参见这篇文章,以在不重新加载页面的情况下修改URL。 附加说明: 第一个参数是网页状态更改时(例如,每当有人在浏览器中按下后退或前进按钮时)所需的数据。请注意,在Firefox中,此数据限制为640k个字符。 title是第二个参数,可以