0

我在IE兼容给我这个错误的一个小功能我写道:JS:在IE错误,在Chrome和Firefox

消息:预期的对象行: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另一个功能是IDE除了它调用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"; 
    } 
} 

任何想法将不胜感激。

回答

0

难道这是中UpdateImage缺少分号吗?

编辑

在这种情况下,你只是有一些晦涩的语法怪异,IE浏览器的困惑(发生的时间:))。

开始删除代码。摆脱所有嵌套的if(可能应该重构)。不要做for循环,只需拨打UpdateImage(idtagsArray[0], xmlhttp.responseText)即可。使您的idtagsArray只有1个元素长。等等

+0

这不是,虽然我错过了谢谢。当我使UpdateImage成为无代码的存根函数时,错误仍然发生。 – pierdevara 2010-08-21 23:45:18

0

请问您的函数UpdateImagereturn之后是否缺少分号?

相关问题