2011-10-31 57 views
0

我一直在爲我開始開發的桌面應用程序組建一個網頁,並且我非常想利用HTML5技術和動態內容與JavaScript。基本上,如果在瀏覽器中訪問「根」頁面(index.php,或者只是目錄名稱),信息,關於常見問題和聯繫表單的部分將全部可見(聯繫表單除外;點擊其部分的標題將觸發一個jQuery動畫來揭示它)。在頁面的左側,我有一個基本的導航,包含家庭鏈接,常見問題和聯繫方式。這些鏈接的錨點分別是「#!/ home」,「#!/ about」,「#!/ faq」和「#!/ contact」。當單擊其中一個元素時,JavaScript/jQuery將隱藏除hashbang所屬的頁眉,頁腳和部分之外的所有元素(對於聯繫人表單,它也將刪除該部分標題的Click處理程序,因爲它當它是頁面的唯一內容時,不需要也不應該能夠隱藏)。目前我使用此:通過動態內容有效使用Hashbang,JavaScript,PHP和AJAX

window.onload = (function() { 
    switch(location.hash) { 
    case "#!/contact": 
     $("body > *:not(section#contact, nav, header, footer)").hide(); 
     $("#contact > #labels, #contact > form").slideDown('slow'); 
    // and similar for the other hashbang URIs 
    } 

    if (location.hash == "#!/" || location.hash == "#!/home" || !eval(location.hash)) { 
     $("a[href='#!/contact']").click(function() { 
      $("#contact > #labels, #contact > form").slideDown('slow'); 
     }); 
    } 
    // similar for the other hashbangs 
}); 

我幾乎可以肯定有一個更好的方式來做到這一點,我也想確保該頁面及其動態內容是由谷歌的機器人正確抓取。我應該使用PHP來正確執行此操作嗎?怎麼會這樣?

謝謝!

回答

1

This克里斯科伊爾的CSS技巧視頻教程找到了一些最佳實踐來實現這樣的事情。一個重點是確保您的應用程序可以使用或不使用JavaScript打開。