【发布时间】:2011-12-18 11:50:05
【问题描述】:
我一直在为我开始开发的桌面应用程序构建一个网页,我真的很想利用 HTML5 技术和 JavaScript 的动态内容。基本上,如果一个人在他们的浏览器中访问“根”页面(index.php,或只是目录名称),信息、关于、常见问题解答和联系表格的部分都将可见(联系表格除外;点击其部分的标题将触发一个 jQuery 动画来显示它)。在页面的左侧,我有一个基本导航,其中包含指向主页、关于、常见问题和联系方式的链接。这些链接的锚点是“#!/home”、“#!/about”、“#!/faq”和“#!/contact”(分别)。当点击其中之一时,JavaScript/jQuery 将隐藏除页眉、页脚和 hashbang 所属部分之外的所有元素(对于联系表单,它还将删除部分标题的点击处理程序,因为它当它是页面的唯一内容时,不需要也不应该被隐藏)。目前我正在使用这个:
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
});
我几乎可以肯定有更好的方法来做到这一点,而且我还想确保此页面及其动态内容可以被 Google 的机器人正确抓取。我应该使用 PHP 来正确执行此操作吗?怎么样?
谢谢!
【问题讨论】:
标签: php javascript jquery ajax hashbang