簡體   English   中英

Facebook聊天框不會在頁面之間重新加載

[英]Facebook chatbox doesn't reload between pages

我在Facebook上觀察到這個功能,當你在右下角打開一個聊天框,然后你去另一個頁面,比如你的朋友的個人資料,或Facebook內的一些照片收集頁面時,聊天框不會重新加載,它保持原樣(就像在背景頁面頂部的單獨層中一樣)。

很自然地,我認為Facebook本身沒有重新加載頁面,它使用history.pushstate和相關函數異步加載內容,並動態更改URL(Firebug確認,如果你點擊你朋友的名字之一並被帶到你朋友的個人資料頁面,它實際上是一個被解雇的GET請求)。 因此,由於沒有任何頁面加載,聊天框可以只是閑置,就像它一樣。

但是,在版本10之前, IE不支持pushstate 。但是,它在IE9中也可以正常工作。 所以有人能告訴我他們是怎么做到的嗎? 他們是在使用history API還是其他不同的東西?

簡單的答案就是一個很好的問題。 我不確定Facebook,但這應該對你有所幫助 - History.js

History.js在所有瀏覽器中優雅地支持HTML5歷史/狀態API(pushState,replaceState,onPopState)。 包括對數據,標題,replaceState的持續支持。 支持jQuery,MooTools和Prototype。 對於HTML5瀏覽器,這意味着您可以直接修改URL,而無需再使用哈希。 對於HTML4瀏覽器,它將恢復使用舊的onhashchange功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM