使用javascript更改URL

使用javascript更改URL,javascript,html,specifications,Javascript,Html,Specifications,我知道更改URL是可能的,但我认为它只允许用于哈希标记后面的部分。(我将其用于ajax加载的内容。) 现在我看到一些网站甚至在不使用哈希标签的网站上更改了域名后的URL。这在所有浏览器中都可能吗?我曾经读到,在未来的一些html/js规范中提出了这种功能,但仍然没有得到批准。他们正在使用历史API: 这在ajax中很常见 请注意,调试并不容易,也不痛苦 如果您愿意,您可以阅读此单页网站的源代码:我不会说调试很困难或痛苦:要使其前后完美地工作,当然需要一些技巧,但根据我的经验,API是干净且易于

我知道更改URL是可能的,但我认为它只允许用于哈希标记后面的部分。(我将其用于ajax加载的内容。)


现在我看到一些网站甚至在不使用哈希标签的网站上更改了域名后的URL。这在所有浏览器中都可能吗?我曾经读到,在未来的一些html/js规范中提出了这种功能,但仍然没有得到批准。

他们正在使用历史API:

这在ajax中很常见

请注意,调试并不容易,也不痛苦


如果您愿意,您可以阅读此单页网站的源代码:

我不会说调试很困难或痛苦:要使其前后完美地工作,当然需要一些技巧,但根据我的经验,API是干净且易于使用的。当您的应用程序状态复杂时,对于不同的屏幕和工作流等,我认为它比大多数ajax任务需要更多的工作。但这只是我的意见;)我已经通过jquery历史插件使用了它,这不是问题所在。当时,我已经在网页上实现了ajax加载,只有在散列标签出现后才能更改部分。现在看来,所有域名都可以更改了。哪个浏览器支持这个?啊,是的,我现在明白你的意思了。我完全同意,对于一个复杂的应用程序来说,确定何时以及如何更改URL是一项艰巨的任务。@petres:您可以在域结束后使用我提供的链接中定义的API更改整个URL。唯一的限制是:“新URL必须与当前URL的来源相同”。