Я собирал веб-страницу для настольного приложения, которое начал разрабатывать, и мне очень хотелось бы воспользоваться преимуществами технологий HTML5 и динамического содержимого с помощью JavaScript. По сути, если кто-то посещает «корневую» страницу (index.php или просто имя каталога) в своем браузере, разделы для информации, о, часто задаваемые вопросы и контактная форма будут видны (кроме контактной формы; нажав на заголовок его раздела вызовет анимацию jQuery, чтобы показать его). В левой части страницы у меня есть основная навигация со ссылками на домашнюю страницу, информацию, часто задаваемые вопросы и контакты. Якорями для этих ссылок являются «#!/домой», «#!/о нас», «#!/faq» и «#!/contact» (соответственно). Когда один из них щелкнут, JavaScript/jQuery скроет все элементы, кроме верхнего, нижнего колонтитула и раздела, к которому относится хэш-банг (для контактной формы он также удалит обработчик щелчка для заголовка раздела, потому что он не нужно и не должно быть скрыто, если это единственное содержимое страницы). В настоящее время я использую это:
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, чтобы сделать это правильно? Как же так?
Спасибо!