Ajax и Opera 7

amorfis

я стараюсь
Ajax и Opera 7

Возможно ли подружить Opera7 с ajax?

Код приведенный ниже возвращает в Opera7: BAD!

PHP:
<script type="text/javascript" language="javascript">
function makeRequest() {
    var http_request = false;
    if (window.XMLHttpRequest) 
    {
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) 
        {
            http_request.overrideMimeType('text/xml');
        }
    } 
    else if (window.ActiveXObject) 
    { // IE
        try 
        {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) 
        {
            try 
            {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('BAD!!!');
    }
    else alert('ОК!');
}
</script>
<span
style="cursor: pointer; text-decoration: underline"
onclick="makeRequest()">
CLICK
</span>
 

phprus

Moderator
Команда форума
amorfis
Используй http://dklab.ru/lib/JsHttpRequest/ Эта библиотека поддерживает Opera 7.20 и выше (при помощи динамической генерации тега script для подгрузки данных)
 

amorfis

я стараюсь
phprus

Так ее и использую. :) Не работает. Поэтому решил попробывать напрямую сделать, но не вышло.
 

phprus

Moderator
Команда форума
amorfis
Так ее и использую. :) Не работает
Может быть тогда вам будет лучше проверить работоспособность тестовых примеров поставляющихся вместе с библиотекой и если они не работают, то обратиться на форум http://forum.dklab.ru/ , а если же они работают, то ошибка скорее всего в вашем коде.
 

phprus

Moderator
Команда форума
Апокалипсис
Вы невнимательно читали последнее сообщение amorfis. А в нем он писал, что у него библиотека JsHttpRequest не работает в опере 7, хотя эта библиотека поддерживает Opera 7.20 и выше.
Так ее и использую. :) Не работает.
 

phprus

Moderator
Команда форума
Апокалипсис
Код приведенный в первом сообщении работать не будет. Это я знаю. Но потом amorfis сознался, что проблема у него возникла не при использовании этого кода, а при использовании библиотеки JsHttpRequest и код приведенный в первом сообщении это попытка решить эту проблему.

Вот по этому я и посоветовал проверить тестовые примеры к библиотеке JsHttpRequest и если они работают, то искать ошибку в том коде, который использует эту библиотеку, а не в коде который приведен в первом сообщении.
 

dimagolov

Новичок
Автор оригинала: amorfis
phprus

Так ее и использую. :) Не работает. Поэтому решил попробывать напрямую сделать, но не вышло.
http://dklab.ru/lib/JsHttpRequest/manual.html Библиотека работает в IE5.0+, Mozilla 1.7+, Firefox 1.0+, Opera 7.20+, Safari (здесь "+" означает "в этой и более новых версиях"). Кроме того, код может работать без поддержки ActiveX и XMLHttpRequest (однако, если эти возможности включены в браузер, они автоматически задействуются). Кроссбраузерность гарантируется автоматическим framework-ом для тестирования библиотеки.
Раз опера поддерживается с версии 7.20 то в более ранних реализовать подобное не представляется возможным. ;)
 

Апокалипсис

тех дир matras.ru
Вот встречный вопрос, неужели есть необходимость подстраиваться под старые версии броузеров?
По статистике даже у меня на небольшом проекте 300-350 уникальных в день со старых броузеров заходят не больше 5-10 в месяц.
 

amorfis

я стараюсь
Просто когда в ТЗ написано, что сайт должен корректно работать в опера 7, то деваться некуда.

Особое спасибо phprus.
 

Апокалипсис

тех дир matras.ru
Вот это знакомо, заказчик хочет видеть чтобы было всё красиво с аяксиком и работало в идеале в ИЕ ниже 4 версии:D
 

amorfis

я стараюсь
Апокалипсис
Это да. Прийдется наверно все на JS сделать ((( А то время поджимает и разбираться некогда.
 

dimagolov

Новичок
IMHO заказчику нужно провести ликбез во-первых про возможности разных версий броузеров, а во-вторых про их распространенность.

ну или таки писать на скрытых фреймах.
 
Сверху