|
|
Есть ряд дел, в которых вы, возможно, не имеют поддержки XMLHttpRequest. Самой распространенной будет в том случае, если пожилых браузера. Это труднее всего обойти, не потому что нет запасного AJAX, но и потому, что все другие манипуляции DOM что вы делаете в рамках применения не будет работать. Другая проблема случае, когда браузер поддерживает все, что требуется, за исключением XMLHttpRequest. Эта проблема может возникнуть, когда IE в режим, где она не может использовать ActiveXObjects или когда вы используете заранее - 7,6 версию Оперы.
В некоторых случаях, особенно интранет приложений, очень легко просто необходимо обновить, но если вы хотите использовать AJAX на общедоступном сайте, вам лучше подумать об использовании своего рода запасной механизм. Лучшим кандидатом на запасную является использование скрытых IFrames. Другой вариант - используем cookie- файлы, но они могут направить только ограниченный объем данных одного запроса, так трудно отказаться в cookie подходов в качестве замены кода, что было написано с XMLHttpRequest в виду. Только XMLHttpRequest поддерживает синхронное звонки, если они необходимы для вашей заявки, а затем, используя его в качестве запасного будет невозможно.
| Техника | Преимущества | Недостатки |
|---|---|---|
| XMLHttpRequest | Можно сделать запросы к страницам, не созданы для AJAX Можно установить / получить все HTTP заголовки Можно сделать запросы HTTP с помощью любого типа (GET, POST, PROPFIND и т.д.) Поддерживает полный контроль над POST запросы, что позволяет для любого вида кодирования данных | Просит ActiveX быть включена в IE 5 и 6 Есть только в новых версиях Opera и Safari Имеет небольшой осуществления различия между браузерами |
| IFrame | Можно сделать POST и Получите HTTP запросов Supportes всех современных браузеров Поддержка асинхронного загрузок файлов | Запрещает синхронных запросов Сервер страниц должно быть предназначено для работы с IFrame запросов Имеет осуществления различия между браузерами Можно оставить дополнительных записей в истории браузера (зависит от браузера и реализация) Все просьбы данные кодирование, увеличение размера просьбе |
| Cookies | Поддерживает большое количество браузеров Мало осуществления различия между браузерами | Запрещает не синхронных запросов Не работает с крупными просьбы / результаты Предполагается страниц сервера будет предназначено для работы с cookie запросы Предполагается голосования по желанию клиента может сделать только Получите HTTP запросов |
Если вы используете полностью обернута XMLHttpRequest и вы не используете синхронных звонков, предоставление транспарентной запасного для вашей программы должно быть возможным. Вам нужно только заменить окончательного брошены исключение в пример инициализации метода инстанцирования с вашей IFrame HTTP клиента. Главной темой помнить об использовании другого подхода вместо XMLHttpRequest является то, что она не собирается получить вам огромный скачок в совместимости.
Основные браузеры уже поддерживают XMLHttpRequest. Эта поддержка делает браузеры с JavaScript выключен, а не текущих неподдерживаемый браузер, крупнейшей группы, которые не могут использовать ваши применение AJAX.
Online: 541 users browsing the articles directory
|
|