IE6 и 7 проблема с innerHTML - PullRequest
       0

IE6 и 7 проблема с innerHTML

0 голосов
/ 27 сентября 2011

IE6 и 7 проблема с innerHTML

Я использовал ajax в приложении, которое я разрабатываю, но есть проблемы с IE6 и IE7, они не поддерживают innerHTML.Что нужно использовать для исправления этой проблемы и обеспечения совместимости с несколькими браузерами?

пример кода выглядит следующим образом.

function showFAQ(src, target){
     xhr.onreadystatechange=function(){
       if(xhr.readyState == 4 && xhr.status == 200){
         document.getElementById('resultDiv').innerHTML=xhr.responseText;
       }
    }

    str = "?action=get&request="+src;
    xhr.open("GET", "./requests/data.php"+encodeURI(str), true);
    xhr.send();
}

В FireFox IE8 и другие основные браузеры работают нормально.Просто проблема с IE6 и 7.

Любая помощь / совет будут оценены.

Спасибо

Ответы [ 3 ]

1 голос
/ 31 января 2012

IE не может обновлять элементы только для чтения, используя innerHTML ... учтите это тоже ..:)

0 голосов
/ 27 сентября 2011

innerHTML поддерживается с IE5.Я думаю, что ваша проблема заключается в использовании объекта xmlhttprequest.Этот поддерживается только в IE7.Вы можете, однако, ActiveXObject, как использует код stealthyninja.

0 голосов
/ 27 сентября 2011

Попробуйте

var xmlHttp;

function getXmlHttpObject() {
    var xmlHttp = null;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    } catch (e) {
        // Internet Explorer 6+
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

var xhr = getXmlHttpObject();


Обновление

Попробуйте добавить

xhr.send(null);

после

str = "?action=get&request="+src;
xhr.open("GET", "./requests/data.php"+encodeURI(str), true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...