2013-02-11 51 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文件。