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

如何在不重新加载页面的情况下更改浏览器地址栏-HTML / Javascript

艾茂学
2023-03-14
问题内容

嗨伙计,

我注意到,Github.com不会在浏览存储库时强制用户下载网页,而是使用AJAX来刷新页面内容。

Github还将浏览器地址栏更改为代表内容的真实地址。我不知道如果不通过在URL中使用#标签来实现这一点。

简而言之: github使用ajax加载新网页,而无需使用标签。他们如何做到这一点?

有任何想法吗?


问题答案:

通过使用:

window.history.pushState("string", "Title", "newUrl");

这是HTML 5中的新功能。

您的网址将更改为newUrl,而无需重新加载页面。

注意:方法中的title arg不会更改html页面的Title。这用于在浏览器历史记录中命名页面,以防您后退然后前进。



 类似资料:
  • 问题内容: 我有http://mysite.com/index.php。 还有一个子菜单 主页=> http://mysite.com/index.php 关于我们=> http://mysite.com/about.us.php 产品=> http://mysite.com/products.php 但我希望http://mysite.com/index.php处理每个请求,并仅使用Ajax请求

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

  • 问题内容: 有没有办法可以在不重新加载页面的情况下修改当前页面的URL? 如果可能,我想访问#哈希 之前 的部分。 我只需要更改域 后 的部分,所以就好像我没有违反跨域策略一样。 问题答案: 现在,可以在Chrome,Safari,Firefox 4+和Internet Explorer 10pp4 +中完成此操作! 例: 然后,您可以用来检测后退/前进按钮的导航:

  • 我有一个用户名列表,用户名列表根据用户输入的数量而增加。问题是,当用户输入用户名时,列表会被输入填充,只有当我的页面重新加载时,我的页面才会更新。这是我迄今为止尝试过的代码。 我无法在外页重新加载的情况下更新数据。请建议我如何更新ui:在外页重新加载的情况下重复数据。提前谢谢。

  • 问题内容: 有没有办法可以在不重新加载页面的情况下修改当前页面的URL? 如果可能,我想访问#哈希 之前 的部分。 我只需要更改域 后 的部分,所以就好像我没有违反跨域策略一样。 问题答案: 现在,可以在Chrome,Safari,Firefox 4+和Internet Explorer 10pp4 +中完成此操作! 有关更多信息,请参见此问题的答案: 使用新URL更新地址栏而不散列或重新加载页面

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