2013-02-11 52 views
0

我有一个应该没有任何点击或任何其他actions.Below在DOM准备执行一些代码是代码:不能在DOM准备好火阿贾克斯IE9

if($.browser.msie){ 
     console.log("Using getJSON"); 
     $.getJSON(baseUrl,function(){ 
     alert('hi'); 
     }); 
    }else{ 
     setTimeout(function(){ 
      $.get(baseUrl, function(data){ 
       var boardNames = data; 
       for (i = 0; i < boardNames.length; i++) { 
        $('.boardSelectmulti').append('<option value="' + boardNames[i].Board + '">' + boardNames[i].Text + '</option>'); 
       } 
       console.log("done"); 
       $("#boardLinksi").hide(); 
       $(".boardSelectmulti").val(form_data.showmode); 
       $(".boardSelectmulti").show(); 
      }, "json"); 
     },5000); 
    } 
    } 

在其他浏览器工作正常但在IE中它永远不会触发。我甚至尝试过getJson调用仍然没有运气。任何想法为什么会发生这种情况?

在此先感谢

+0

什么是baseUrl? – SLaks 2013-02-11 22:02:25

+1

你为什么要为IE调用不同的东西? – epascarello 2013-02-11 22:03:15

+0

我有问题,在IE中打印console.log()。你没有使用console.log()语句来试用它吗? – akotian 2013-02-11 23:04:09

回答

1

下载AJAX版本为Free here。查看IE的时间轴视图,然后查看FF,您可以轻松发现页面加载过程中的差异以及导致问题的原因。

+0

谢谢你会试试这个 – Leon 2013-02-12 13:42:45

0

当IE控制台(按F12)打开时它工作吗?如果有,并且DroidOS指出,在IE中,控制台对象是未定义的,直到开发者控制台至少打开一次(另请参阅my question here)。

增加您的脚本的顶部这小小的代码:

<!--[if IE]> 
    <script type="text/javascript"> 
     var console = console || { 
     log: function() {}, 
     warn: function() {}, 
     error: function() {} 
    }; 
    </script> 
    <![endif]--> 

确保这到来之前,你包括你的JS文件。