2011-10-31 38 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打开。