2012-11-23 72 views
0

我想編寫一個seo友好ajax投資組合現在。我的目標是爲用戶提供javascript效果,並向沒有js的機器人/用戶提供普通html。Bot友好ajax頁面

文件:

  • 的index.php(我的節目開始點)
  • aboutme.php(包含HTML代碼爲 「關於我」)
  • contact.php(包含「HTML代碼聯繫「)

的想法:在

用戶訪問index.php文件和點擊 」關於我「 - >加載動畫出現s - > aboutme.php用ajax加載 - > history.pushstate將url重寫爲aboutme.php。

- >當用戶股FB /嘰嘰喳喳/ g的網站網址和該機器人將得到正確的標題,正文等,這是正常的HTML頁面,沒有任何的JavaScript。

但我的問題是:如果其他用戶打開該網頁時,他們直接看到內容。但我想首先向他們展示一個加載動畫,直到數據用ajax加載(類似於他們點擊鏈接)。

我該如何實現這種方法?非常感謝你!

+0

我已經這樣做了,它比整個兔子都要多。多年後,我仍然支持它並思考:「我希望我永遠不會朝這個方向前進」。 FWIW – Madbreaks

+0

那麼,你現在怎麼做? – clonaech

回答

0

最好的方法來做到這一點,創建一個JavaScript文件。將鏈接標籤寫入「head」部分。這將使JavaScript文件在內容之前下載。 Javascript顯示動畫,但同時瀏覽器將在後臺下載內容。在「文檔準備好」事件中,停止動畫。

這將讓機器人能夠直接訪問內容。因爲JavaScript不適合他們。

+0

你能舉一個簡短的例子嗎?我無法按照.. – clonaech

+0

好吧,我明白你想達到什麼目的。但是讓我們稍微複雜一點:如果aboutme.php不包含html代碼,但是一些服務器端的PHP東西(如sleep(10);)。瀏覽器現在要等到他完全收到aboutme.php才顯示動畫,不是嗎? – clonaech

+0

那麼,如果服務器等待10秒,機器人將無法在10秒內看到數據。但你可以做的是,你可以在身體前衝出頭部。所以,JavaScript的作品,但服務器將等待自己。 – tcak

-1

我認爲,這是不是在所有問題,讓你的鏈接像往常一樣HREF,然後使用JavaScript或jQuery的改變點擊鏈接與Ajax加載鏈接的內容的默認行爲。

0

我一直認爲這是比它的價值(一般)更多的努力,但要回答你的問題:

的index.php,aboutme.php, contect.php應該提供完整的html。 某些鏈接應該讓js事件處理程序攔截點擊,而不是加載aboutme.php,它們在後臺加載aboutme-content-only.php。然後更新DOM和推動國家等..

這樣的網站可以很容易地降低對於那些誰是第一次參觀的用戶,以及那些瀏覽器不支持推送狀態或JavaScript。