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