一尘不染

像Facebook一样从Javascript更改URL

ajax

我目前正在使用面向AJAX的Web应用程序。我一直在寻找用浏览器URL复制当前AJAX状态(或应用程序状态)的不同方法,因此刷新和后退按钮也适用。

在过去的几周里,我看到了涉及散列(#)和不同JS框架使用的不同方法。

在文档中指出,无法从JS更改浏览器URL。今天,我去了Facebook,打开了一个图片,然后更改了网址(虽然该图片已在灯箱中打开)。关闭图像后,​​浏览器URL会变回原始页面。

您是否知道他们如何实现此行为?


阅读 215

收藏
2020-07-26

共1个答案

一尘不染

您可以像这样在网址末尾操纵has值:

var hashVal = 'somevalue';
window.location.hash = '#' + hashVal;

然后网址将变为 www.something.com/#somevalue

2020-07-26