更改 url 位置的最佳方式
Best way change url location
我找到了 5 种不同的方法来更改网页上的当前位置。哪个更好,方法都需要吗?
这基本上是我发现的:
window.location.assign("www.example.com")
和
一样
window.replace("www.example.com")
区别在于replace()从文档历史记录中移除了当前文档的URL,这意味着无法使用"back"按钮导航回原始文档.
但是这两个和通过
改变位置有什么区别
window.location = "www.example.com" ?
怎么样
<a href> ?
和
history.pushState?
编辑
有些人因为 Javascript: Setting location.href versus location and What's the difference between window.location= and window.location.replace()? 将其标记为重复,但事实并非如此。我的问题远不止于此。
无处不在"how to change location"但我没有找到这些方法之间的完整比较。
window.location
将一个项目添加到您的历史记录中,您可以(或应该能够)单击 "Back" 并返回当前页面。
assign(url)
: 在提供的 URL.
加载文档
replace(url)
:用URL提供的文档替换当前文档。与 assign()
方法的不同之处在于,在使用 replace()
之后,当前页面将不会保存在会话历史记录中,这意味着用户将无法使用“后退”按钮导航到它。
我找到了 5 种不同的方法来更改网页上的当前位置。哪个更好,方法都需要吗?
这基本上是我发现的:
window.location.assign("www.example.com")
和
一样window.replace("www.example.com")
区别在于replace()从文档历史记录中移除了当前文档的URL,这意味着无法使用"back"按钮导航回原始文档.
但是这两个和通过
改变位置有什么区别window.location = "www.example.com" ?
怎么样
<a href> ?
和
history.pushState?
编辑
有些人因为 Javascript: Setting location.href versus location and What's the difference between window.location= and window.location.replace()? 将其标记为重复,但事实并非如此。我的问题远不止于此。
无处不在"how to change location"但我没有找到这些方法之间的完整比较。
window.location
将一个项目添加到您的历史记录中,您可以(或应该能够)单击 "Back" 并返回当前页面。
assign(url)
: 在提供的 URL.
replace(url)
:用URL提供的文档替换当前文档。与 assign()
方法的不同之处在于,在使用 replace()
之后,当前页面将不会保存在会话历史记录中,这意味着用户将无法使用“后退”按钮导航到它。