我试图了解Facebook如何实现聊天边栏。它似乎留在那里,即使我改变页面。例如,如果我在侧边栏中选择一些文本,然后单击转到另一个Facebook页面,文本仍保持选中状态。它好像是一个单独的框架,但是当我查看代码时,它不是。
答案 0 :(得分:4)
所有请求都是通过AJAX调用完成的。只在需要时才会替换“内容”容器。
你实际上并没有“去”另一页。只是“内容”div得到更新。
答案 1 :(得分:3)
有一个名为“fb_content”的容器DOM元素,其内容通过直接的AJAX或更专业的XMLHttpRequest替换。 (例如,当您输入应用时,整个页面都会刷新。)要更新地址栏,他们会使用JavaScript History API。
答案 2 :(得分:0)
除了Zeno和lericson所说的内容(fb_content通过ajax更新),地址栏也会在保持历史记录的同时得到更新(如果你按后退/前进)。