Недостатки AJAX технологий
Опубликовал root в блоге JavaScript 10 февраля 2011, 01:15
Так уж устроен этот мир, что любая технология имеет свои плюсы и минусы. Ajax — не исключение. В этой заметке я хочу коротко коснуться слабых сторон в технологии асинхронной загрузки данных (AJAX).
Поисковая оптимизация
Сайты создаются для того чтобы на них приходили люди. В последнее время основной путь привлечения посетителей на сайт — привлечение с помощью поисковых систем. Для усиления эффекта используется поисковая оптимизация. Проблема AJAX в том, что поисковые системы не видят контент, который загружен с помощью этой технологии. Не видят, а значит не могут проиндексировать и показать клиенту. Итак, минус номер раз — не индексируется поисковыми роботами
Кнопка назад
Ни вперед, ни назад — это закон. Страницы загруженные с помощью AJAX отличаются по своей сути от обычных страниц. Поэтому кнопки «вперед» и «назад» для них просто недоступны. Хотя существуют технологические изощрения позволяющие избежать этого недостатка, мы все равно посчитаем это злом. Минус номер два — нельзя использовать кнопки «назад» и «вперед»
Избранное
Еще один недостаток вытекающий из особенностей технологии — невозможность положить урл текущей страницы в избранное. Текущее состояние страницы просто исчезнет при следующем заходе по тому же самому урлу. Минус номер три — отсутствие истории.
Недостатки технологии
В заключение пройдемся по чисто технологическим недостаткам:
Негарантированное время ожидания, до получения ответа;
При загрузке страницы через AJAX отсутствуют классические индикаторы загрузки страницы. Поэтому иногда нельзя сказать, то ли сервер завис, то ли загрузка еще продолжается. А бывает и так, что загрузка уже закончена, но данные не могут быть распознаны и отображены на экране.
В ответе может содержаться JavaScript который никогда не выполнится
Технология предназначена для передачи данных в виде XML документа. Поэтому попытки использовать ее для передачи исполняемого JavaScript кода не всегда успешны. Приходится использовать различного рода хаки, например, функцию eval.
Ошибки IE парсера
Если в функцию eval передать код, содержащий классический HTML комментарий, то в IE возникает cистемная ошибка -1072896658
Поисковая оптимизация
Сайты создаются для того чтобы на них приходили люди. В последнее время основной путь привлечения посетителей на сайт — привлечение с помощью поисковых систем. Для усиления эффекта используется поисковая оптимизация. Проблема AJAX в том, что поисковые системы не видят контент, который загружен с помощью этой технологии. Не видят, а значит не могут проиндексировать и показать клиенту. Итак, минус номер раз — не индексируется поисковыми роботами
Кнопка назад
Ни вперед, ни назад — это закон. Страницы загруженные с помощью AJAX отличаются по своей сути от обычных страниц. Поэтому кнопки «вперед» и «назад» для них просто недоступны. Хотя существуют технологические изощрения позволяющие избежать этого недостатка, мы все равно посчитаем это злом. Минус номер два — нельзя использовать кнопки «назад» и «вперед»
Избранное
Еще один недостаток вытекающий из особенностей технологии — невозможность положить урл текущей страницы в избранное. Текущее состояние страницы просто исчезнет при следующем заходе по тому же самому урлу. Минус номер три — отсутствие истории.
Недостатки технологии
В заключение пройдемся по чисто технологическим недостаткам:
Негарантированное время ожидания, до получения ответа;
При загрузке страницы через AJAX отсутствуют классические индикаторы загрузки страницы. Поэтому иногда нельзя сказать, то ли сервер завис, то ли загрузка еще продолжается. А бывает и так, что загрузка уже закончена, но данные не могут быть распознаны и отображены на экране.
В ответе может содержаться JavaScript который никогда не выполнится
Технология предназначена для передачи данных в виде XML документа. Поэтому попытки использовать ее для передачи исполняемого JavaScript кода не всегда успешны. Приходится использовать различного рода хаки, например, функцию eval.
Ошибки IE парсера
Если в функцию eval передать код, содержащий классический HTML комментарий, то в IE возникает cистемная ошибка -1072896658