JS: ошибка в IE, совместима с Chrome и Firefox - PullRequest
0 голосов
/ 22 августа 2010

У меня IE, выдает мне эту ошибку для маленькой функции, которую я написал:

Сообщение: Ожидаемый объект Строка: 13 Символ: 52 Код: 0

Вот мой код (прошу прощения за форматирование):

function SectionTwo()
{
    if (xmlhttp.readyState==4) {
        if( xmlhttp.status==200 ) {
            if( xmlhttp.responseText.indexOf( "404 Error" ) >= 0 ) { } 
            else {
                var idtagsArray = ["KT501-1_8","KT502-15_30","KT503-15_37","KT504-10_30","KT505-30_80","KT506-30_90","KT507-20_50","KT510-15_1440","KT512-0_1_2_3_4","KT513-30_80","KT514-0_1","KT520-0_1","KT525-0_1_2","KT526-0_1","KT527-0_9999","KT529-0_9999","KT531-0_9999","KT533-0_9999","KT535-0_250","KT536-0_9999","KT538-0_9999","KT548-0_1","KT549-0_1","KT550-102_120", "KT551-80_98","KT552-15_37","KT553-0_30","KT554-50_90","KT555-20_50","KT565-0_10","KT566-0_20","KT567-0_30","KT568-0_50","KT569-1_10","KT570-1_10","KT571-2_10","KT572-2_10","KT573-1_20","KT574-1_30"];
                for(var tag = 0; tag < idtagsArray.length; tag++) {
                    UpdateImage( idtagsArray[tag], xmlhttp.responseText);
                }
            }
        }
    }
}

Последняя строка - строка 13. У меня также есть другая функция с именем SectionOne, которая идентична приведенной выше, за исключением того, что она вызывает UpdatePointиз UpdateImage, и это не выдает ошибку.

Chrome и Firefox не показывают никаких ошибок JS и работают как задумано.Вот функция UpdateImage:

function UpdateImage( usediv, data )
{
    if( data == null || data.length <= 0 ) {
        update_value.innerText = 0;
        return
    }

    // [A5:1][A6:1][A7:1][A8:1]
    var start       = data.indexOf( "[" + usediv + ":" ) + 2 + usediv.length ;
    var end         = data.indexOf( "]", start );
    var data_value  = data.slice( start , end ) ;

    if( data_value > 0 )
    {
        document.getElementById(usediv).style.display = "";
    }
    else
    {
        document.getElementById(usediv).style.display = "none";
    }
}

Любые идеи будут оценены.

Ответы [ 2 ]

0 голосов
/ 22 августа 2010

Может ли быть пропущенная точка с запятой после return в вашей функции UpdateImage?

0 голосов
/ 22 августа 2010

Может ли быть отсутствие точки с запятой на return в UpdateImage?

Редактировать :

В этом случае у вас просто есть некоторыенеясная странность синтаксиса, из-за которой IE смущен (происходит постоянно:)).

Начните удалять код.Избавьтесь от всех вложенных if (вероятно, в любом случае следует изменить).Не делайте for цикл, просто позвоните UpdateImage( idtagsArray[0], xmlhttp.responseText ).Сделайте ваш idtagsArray только 1 элемент длиной.И т.д.

...