javascript - Facebook 如何在 Chrome 和 Firefox 中重写 URL?

标签 javascript facebook firefox google-chrome

Facebook 几乎完全是 AJAX,我知道在较旧的浏览器和 IE9 中,Facebook 使用哈希标签来重写唯一的 URL,例如...

http://www.facebook.com/home.php#!/?sk=welcome

http://www.facebook.com/home.php#!/?abc123

但是,在 Google Chrome 和 Firefox 4 中,Facebook 使用了不同的东西,并重写为:

http://www.facebook.com/?sk=inbox

http://www.facebook.com/home.php?sk=bd

一切都完全在 AJAX 中进行,修改 URL,甚至不仅仅是哈希标签后面的内容(永远不会发送到服务器。)

最佳答案

它正在使用新的 HTML5 history API ,特别是 history.pushState 方法。

它允许更改 URL 的路径、查询或片段部分。

关于javascript - Facebook 如何在 Chrome 和 Firefox 中重写 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5604258/

相关文章:

javascript - Node.js 中的 setTimeout 中计数器没有增加?

javascript - jquery 在 async false 时加载图像

javascript - 我无法获取按钮 | 上的 value 属性jQuery AJAX

javascript - 获取用户位置并在数据库中保存坐标

ios - Swift 4 - 使用 FBSDKGraphRequest 查询 facebook

html - 图像出现在 chrome 上,但不出现在 firefox 上

没有所有者的 Facebook 应用程序

iOS - 集成 Facebook 框架

javascript - 在不转换为本地时区的情况下在 Javascript 中格式化日期

java - 机器人按键在 headless 模式下不起作用