Эффективное использование Hashbang, JavaScript, PHP и AJAX с динамическим контентом

Я собирал веб-страницу для настольного приложения, которое начал разрабатывать, и мне очень хотелось бы воспользоваться преимуществами технологий 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, чтобы сделать это правильно? Как же так?

Спасибо!


person terrygarcia    schedule 31.10.2011    source источник


Ответы (1)


Этот видеоурок по приемам CSS от Криса Койера выходит над некоторыми лучшими практиками для реализации чего-то подобного. Главное — убедиться, что ваше приложение будет работать как с включенным javascript, так и без него.

person jeffreynolte    schedule 31.10.2011