gpt4 book ai didi

javascript - Facebook 更改页面 URL 但实际上并未更改页面

转载 作者:行者123 更新时间:2023-11-28 10:27:32 29 4
gpt4 key购买 nike

我在 Facebook 上,意识到当我更改页面时,页面地址会发生变化,但页面不会重定向,而是通过 ajax 加载。

您可以看出,因为当您单击链接但 URL 发生变化时,控制台不会清除。

奇怪,但有人知道这是怎么做到的吗?

最佳答案

Facebook 运行大量 AJAX 调用,这些调用会更改页面状态和部分。因此,为了通过复制 URL 地址使页面可链接到某人,每次您调用 AJAX 相关函数时,它们都会使用假 anchor “#!”更新 URL加上真实地址。简单来说,当您加载真实页面(使用 F5 或链接该页面)时,JS 解析器会捕获 #! 之后的字符串。 (如果有)并将您重定向到基地址+该地址。

我相信这样的事情(未经测试):

var urlstr = new String(location.href);
var urlparm = urlstr.split('#!');
var last = urlparm.length - 1;

if( (urlparm[last] != urlparm[0]) && (urlparm[last] != "/") )
{ var redir = "http://www.facebook.com" + urlparm[last];
location.href = redir;
}

在 Google Chrome 中,URL 确实发生了变化,我认为某处存在哈希值,但我不知道在哪里以及如何变化。

关于javascript - Facebook 更改页面 URL 但实际上并未更改页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3961936/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com