0

我有一些代码应该在 dom 就绪时执行,无需任何点击或任何其他操作。以下是代码:

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 调用仍然没有运气。知道为什么会发生这种情况吗?

提前致谢

4

2 回答 2

1

在此处免费下载 AJAX 版。查看 IE 的时间轴视图,然后查看 FF,您将很容易发现页面加载期间的差异所在以及导致问题的原因。

于 2013-02-11T22:07:01.193 回答
0

IE 控制台(按 F12)打开时是否有效?如果那样的话,DroidOS指出在 IE 中控制台对象是未定义的,直到开发人员控制台至少打开一次(另请参阅我的问题here)。

在脚本顶部添加这个小代码:

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

确保在您包含 JS 文件之前完成此操作。

于 2013-10-15T15:25:26.977 回答