Многие веб-страницы загружают весь свой контент, чтобы изменить очень мало информации.
Теперь я хотел бы знать, почему разработчикам просто не нужно использовать ajax для запросов главной страницы?
На моей собственной веб-странице я хотел бы разработать основные запросы на моей веб-странице только с помощью ajax, но я не знаю каких-либо конкретных против этого подхода.
У кого-нибудь есть идея, почему кто-то не должен так сильно использовать ajax?
Поисковые системы, сканеры / пауки, браузеры без javascript, программы для чтения с экрана и другие пользователи контента не будут очень довольны этим.
Вы можете предоставить тонны поведения ajax поверх вашего веб-сайта, если вы уже поддерживаете стандартную навигацию по серверу для полного содержимого. Посмотрите на прогрессивное улучшение (SO) и прогрессивное улучшение (wiki) .
Вся посылка на самом деле заключается в том, что с AJAX вам не нужно перезагружать всю страницу, чтобы обновить небольшой процент этой веб-страницы. Это экономит пропускную способность и, как правило, намного быстрее, чем перезагрузка всей страницы.
Но если вы используете AJAX для загрузки всей страницы, это на самом деле контрпродуктивно. Вы должны написать настраиваемые процедуры для обработки обратного вызова данных AJAX. Его большая часть дополнительной работы практически не увеличивает производительность.
Общее правило для использования AJAX: если ваше обновление> 50% вашей страницы, просто перезагрузите, используйте AJAX.
Я дам вам одну очень вескую причину.
Если вы отключите javascript в браузере, это не сработает.
Самые большие пользователи – пользователи, у которых отключен JavaScript. Ваш сайт просто не будет работать для них.
Помимо уже опубликованных ответов, использование AJAX может иметь уродливые побочные эффекты при управлении браузером, например, кнопка остановки не работает.
Одно дело, что вы хотите, чтобы контент имел статический URL-адрес, вы хотите, чтобы люди могли ссылаться на ваши страницы, добавлять их в закладки и т. Д.
Если все аяксифицировано, это может быть сложно и / или утомительно.
Хорошо, если вы хотите, чтобы AJAX загружал новые страницы, например, так же, как работает Gmail, я предлагаю, чтобы ваши ссылки были нормальными. Ссылки HREF, которые указывают на настоящий полный URL страницы рендеринга, и alos используют событие onclick, которое останавливает попытку при нормальной загрузке ссылок и сделайте свои звонки AJAX. Проблема здесь заключается в том, что вы будете делать почти двойное кодирование, если вы не построите эту архитектуру очень хорошо.
Таким образом, нормальные не JS-ссылки загружают полную страницу, а вызовы JS загружают только новые части или страницу. Это означает, что индексирование пауков снова работает.
Ну, вы всегда можете добавить событие onclick ненавязчиво, используя jquery и прекратить нормальную обработку URL-адресов.
Например:
HTML
<a id="ajaxify-this" href="my-working-url">Click me to do AJAXy stuff if you have javascript</a>
затем Javascript
$(document).ready(function() { $("#ajaxify-this").click( function(e) { updateContent(); // do something ajaxy with the page return false; // stop the click from causing navigation }) }
Я использую только JavaScript и EJS в качестве шаблона Engine для своего собственного веб-сайта. На один шаг ближе к SOFEA / SOUI.
Поисковые системы, сканеры / пауки, браузеры без javascript, скрин-ридеры не нравятся, право. Но я следую за мейнстримом;)