我使用的是Facebook,並在左側垂直菜單中找到了以下功能。facebook如何快速呈現其頁面
- 頁面加載這麼快
- 頁面確實有它的後退按鈕啓用
- 只有重新加載頁面的一部分。
有人把一些想法變成「如何實現它???」
我使用的是Facebook,並在左側垂直菜單中找到了以下功能。facebook如何快速呈現其頁面
有人把一些想法變成「如何實現它???」
您將要使用這種類型的範例得到最好的用戶體驗。
AJAX是你的朋友
只發下來,你需要得到顯示給用戶的頁面的輪廓最少的信息。
<html>
<head>
...scripts, meta, css etc...
</head>
<body>
<h1>Facebook Info</h1>
<div id=facebook-info>
<p>loading...</p>
</div>
<h1>Twitter Info</h1>
<div id=twitter-info>
<p>loading...</p>
</div>
</body>
</html>
然後在每個內容部分(您尚未加載)有一個微調。
在加載您的JavaScript(爲簡明起見,我簡寫爲...有關其ajax調用的更多信息,請參閱http://jQuery.com/),您可以調用特定的PHP頁面來吐出一些JSON。這是真正的工作發生的地方,需要時間。
<script>
$(document).ready(function(){
$.ajax('/content/getFacebookInfo.php',displayFacebookContent);
$.ajax('/content/getTwitterInfo.php',displayTwitterContent);
});
</script>
然後在顯示的FacebookContent和displayTwitterContent回調函數中,這是您爲DOM動態構建內容的位置。
<script>
var displayTwitterContent = function(response) {
var html = "<ul>";
foreach(var i in response.posts) {
html += "<li>" + response.posts[i].message + "</li>";
}
html += "</ul>";
$('#titter-info).append(html);
};
</script>
再次,這是簡稱顯示的概念,你將有充實的腳本和還構建與JSON對象作出反應的PHP處理程序。
通過卸載的辛勤工作到AJAX處理主HTML快速送達下來,用戶是幸福的。當他的眼睛在頁面上移動時,一些AJAX調用將完成,並且您將動態插入可用數據到DOM中,並且他們會看到它。
這有點像谷歌的搜索輸入文字時,它使一個AJAX調用回服務器,抓住內容爲您實時顯示你甚至點擊提交之前。
而且研究到應用級服務器端緩存和Web服務器級別。還有一些緩存可以在網絡級別上執行。
是的。你是非常真實的。但在這種情況下,瀏覽器歷史記錄不起作用(後退按鈕)以及不太友好的搜索引擎 –
我不是非常熟悉Facebook的內部了,但也有方法和技術,爲這些事情:
是Ajax請求「只是一個的頁面重載的一部分」。 – contactmatt