我的網站設置如下:當頁面加載時,模板中出現一個jQuery動畫 - 在完成時,進一步製作一個Ajax調用來獲取頁面的內容。現在,我想部署hashbang,如http://com-address/#!page,我還需要在頁面加載時保留動畫。但我認爲這個設置的問題是;當網絡爬蟲訪問該頁面時,它不會等待動畫完成並進行Ajax調用。它需要具有加載內容的頁面狀態(在我的情況下是在動畫完成後獲取的)。帶有溢出碎片URL的jQuery動畫(hash-bang,#!)
鑑於上述情況,哪種方式更好:
改變整個流程,並搶先加載頁面內容和隱藏 直到播放動畫。
只有當哈希爆炸或_escaped_fragment在URL中發現:
一個。請按照步驟1.
b。用沒有動畫的內容加載頁面。
我對網絡爬蟲的假設是不正確的&讓 電流照原樣。
任何單挑的建議?
編輯
@kdzwinel,感謝有關文本的瀏覽器的提示!
第二個想法是,我將使用選項2(a),因爲當抓取工具訪問具有分段URL的資源時,它應該在頁面上獲取完整的結果內容。如果用戶直接導航到分段URL,用戶體驗動畫也將保持不變(通過從頁面加載和動畫開始之間刪除動態內容片段上的內容)。
對於所有其他場景,我們將繼續舊的流(因爲我們不想刷新頁面,因爲用戶已經訪問了該網站並嘗試順利/無縫地導航錨定帶有碎片的URL(綁定它們的點擊事件以開始動畫)。
感謝您的意見。但是,hash-bang實際上不應該是這樣,因爲如果文本瀏覽器遇到像#!頁面那樣的href錨定標記,它將不會導航到com-address /#!頁面,而是會查找指定的錨點(!頁面)。然後,只有導航到hash-bang的方法是刷新頁面(如果您已經在同一頁面上或使用javascript來獲取窗口。通過Ajax提供loacation.hash請求)儘管如此,谷歌發現了通過逃逸碎片化URL製作AJAX驅動的應用程序Crawlable的想法。 – 2012-01-18 12:09:28
很酷,我不知道。它不會改變javascript不會被webcrawler執行的事實,所以當爬蟲訪問它時,你的主頁上沒有任何東西會被編入索引。我仍然認爲你應該選擇#1。 – 2012-01-18 12:31:23
查看我的文章中的編輯部分並感謝您的幫助! – 2012-01-18 13:37:41