javascript中的错误或没有线索

时间:2012-11-19 18:02:17

标签: javascript jquery internet-explorer

我收到了以下javascript代码。 基本上,它适用于FF和IE与开发人员工具。

$(function(){
    console.log("it is ok");
    var mybutton="";

    alert("ready1");
    $('button[name="delorder"]').click(function(){

        console.log($(this).val()+"hay i got a click");
        mybutton=$(this).val();
        alert("a click1");
        $.ajax({
            type:'POST',
            url:'deleteorderitem.php',
            data:mybutton,
            success:function(result){

                if((result.indexOf("t") < 3) && (result.indexOf("t") >= 0)){                    

                    $('#orderresult').html(result);                 

                    console.log("i am 3 ");
                    console.log("index of t is "+result.indexOf("t"));
                }else{
                    console.log("i am 4");                      
                    console.log("index of t is "+result.indexOf("t"));
                    $('#divOrderButton').hide();
                    $('#orderresult').html("");
                    $('#divNoinfo').html("There is no record to display at the moment.");
                    $('#divNoinfo').show(); 
                    $('#divOrder').hide();
                }
            }
        });
    });
});
</script>

但是,它不适用于IE(没有开发人员工具)。 所以,任何建议将不胜感激。 感谢

3 个答案:

答案 0 :(得分:2)

主要是因为

console.log()

当开发人员工具未打开时,Windows IE8及更低版本没有控制台对象。

要么注释说出控制台的行。或者事先创建控制台对象。

试试这个......不确定这是否是正确的方法..

var alertFallback = true;
   if (typeof console === "undefined" || typeof console.log === "undefined") {
     console = {};
     if (alertFallback) {
         console.log = function(msg) {
              alert(msg);
         };
     } else {
         console.log = function() {};
     }
   }

如果它不存在,这将创建控制台对象。

答案 1 :(得分:1)

如果你说没有开发者工具打开就行不通(除非我弄错了),因为你拥有所有那些console.log,而且这一定是什么在吹嘘它。

在主JS文件的最顶部尝试这样的东西,以防止在IE中。

if (typeof (console) === 'undefined' || !console) {
    window.console = {};
    window.console.log = function () { return; };
}

答案 2 :(得分:0)

我使用此函数为跨浏览器控制台日志编写日志:

/**
 *Log into the console if defined 
 */
function log(msg)
{       
    if (typeof console != "undefined") {
        console.log(msg);
    }       
}