Определить, возможен ли AJAX? - PullRequest
0 голосов
/ 30 ноября 2009

У меня есть сценарий, когда клиентский браузер Internet Explorer 6 не позволяет создавать мгновенные элементы управления activex, делая ajax неработоспособным в jquery.

Это также выдает предупреждение в верхней части браузера пользователя.

Есть ли способ обнаружить ActiveX, не генерируя никаких предупреждений для пользователя? Я хотел бы использовать ajax, если он доступен, но я бы хотел, чтобы функция превратилась в классическую форму сообщения, если объект не может быть создан.

Ответы [ 2 ]

8 голосов
/ 30 ноября 2009
var xhr;
if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
    try {
        xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(err) { 

    }
}
else {
    //It couldn't find any of those Ajax objects
}

if(!xhr) {
    //Here you know now that Ajax is not possible with this client
}

Это простая реализация. Хотя есть и лучшие.

Обновление:

Попробуйте ... Поймать, предложенный JasonWyatt. Я пропустил это.

0 голосов
/ 30 ноября 2009

Примечание. Возможно, вы захотите иметь запасной вариант, который вообще не требует javascript, с использованием тега

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...