Вместе с Ajax в интернет ворвалась асинхронность. Веб-мастреа посходили с ума и начали делать асинхронным все, что только можно. Так появились разные модификации Ajax, например Ajaj(JSON), Ajah(html). Но иногда требуется асинхронно подключить к странице новый файл JavaScript.
Действительно, это даст некоторый выигрыш. Допустим, в этом файле сосредоточены функции для работы с формой комментариев. Пишем простой обработчик нажатия по элементу form комментария. После клика, обработчик лезет на сервер и подгружает нужные фунции JavaScript. При этом, посетитель, не пожелавший комментировать страницу, будет избавлен от необходимости тратить лишний траффик на загрузку скриптов комментирования.
Можно, конечно, подгружать JS традиционным аяксом и полученный текст "оживлять" eval-ом, но это долго (из-за последнего) и некрасиво. Я предлагаю более простой, но не менее эффективный метод.
На новогодних праздниках, многие сайты слегка меняли свои дизайны. Приделывали шапочки, красные носочки, снежинки, мышек и прочую новогоднюю атрибутику. Делали они это, чаще всего, вручную.
Алексей Ильин написал заметку, где предлагал дописывать в body класс с текущей датой. Можете подробней ознакомиться с этой статьей, а я пока расскажу, почему мне не понравился этот подход.
Во-первых, он предполагает возню с php-скриптами. Не так легко найти в стороннем скрипте место, где нужно что-то как-то изменить. Особенно, если ты в программировании ноль. Кроме того, это решение подразумевает, что каждый день будет генерироваться название класса, а сам класс, скорее всего, не будет определен, что не кошерно.
В этой заметке я расскажу сразу о двух способах решения задачки автоматической смены стилей без использования серверных сценариев. То есть, с помощью JavaScript.
Иногда хочется динамически подгрузить контент с чужого домена в асинхронном режиме. Сразу скажу, что сделать это только силами JavaScript не получится. Все это потому, что JavaScript не разрешен доступ к другим доменам. Если не верите — можете попробовать, если получится - будет интересно послушать как.
Но все-таки, хочется же сделать невозможное возможным. Тут можно вспомнить, что серверные сценарии вполне могут лазить на соседние домены и брать оттуда что угодно. Можно обращаться к своему скрипту, который будет грабить контент с чужого сайта, и отдавать его Ajax-движку. За чем же дело стало?
AlexSol высказал интересную идею, относительно улучшения аяксовой навигации. Идея замечательная. Но ее можно доработать. Как? Обратите внимание на пример, который он приводит.
При нажатии на одну ссылку, догружается один контент. При нажатии на вторую — другой. Но если снова нажать на первую, снова будет подгружаться первый контент с сервера! Разумнее было бы кэшировать эти данные в браузере и не посылать лишний раз гонца запрос серверу. Хорошо бы прибегнуть к кэшированию.
Как сделать кэширование в JavaScript? Об этом данная статья.
Пользователь всегда хочет контент. Причем, как можно скорее. Он не привык ждать и не любит этого делать. Поисковый робот, в чем-то, похож на пользователя. Он тоже хочет контент. Правда, на время его выдачи ему, наверное, наплевать, зато его очень волнует отношение полезного контента к общему количеству инфы на странице.
Я подумал, что было бы неплохо совместить выполнение желаний посетителя и поискового бота. Придумалась мне модель, при которой загружается только нужный контент, CSS и JS. А остальные, необязательные части страниц, типа рекламных блоков, дополнительных функций страницы, тяжеловесного дизайна, догружаются при помощи Ajax.
В этой статье напишу как быстро и без проблем сделать догрузку контента и сделать что-то на подобие SSI, но на клиенте, а не на сервере.
Еще один способ заставить ослика работать как полагается.