Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript console.log使用ie9中的警报并打开开发人员工具_Javascript_Console_Internet Explorer 9 - Fatal编程技术网

Javascript console.log使用ie9中的警报并打开开发人员工具

Javascript console.log使用ie9中的警报并打开开发人员工具,javascript,console,internet-explorer-9,Javascript,Console,Internet Explorer 9,我正在使用IE9并尝试调试一些javascript。我到处读到console.log()实际上会登录到控制台,而不是在开发人员工具打开时发出警报 但是,我打开了开发人员工具,console.log仍在发出警报。我错过了什么 浏览器模式:IE9兼容模式 文件模式:IE8标准 我想看看console.log是否在JS中的某个地方被重新定义。console.log()不会alert()任何东西。。。我认为您在代码中使用了一些定制的console.log函数。然而,我始终建议使用HTML5样板文件附

我正在使用IE9并尝试调试一些javascript。我到处读到
console.log()
实际上会登录到控制台,而不是在开发人员工具打开时发出警报

但是,我打开了开发人员工具,console.log仍在发出警报。我错过了什么


  • 浏览器模式:IE9兼容模式
  • 文件模式:IE8标准

我想看看console.log是否在JS中的某个地方被重新定义。

console.log()
不会
alert()
任何东西。。。我认为您在代码中使用了一些定制的console.log函数。然而,我始终建议使用HTML5样板文件附带的那些小功能:

// usage: log('inside coolFunc', this, arguments);
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function f(){ log.history = log.history || []; log.history.push(arguments); if(this.console) { var args = arguments, newarr; args.callee = args.callee.caller; newarr = [].slice.call(args); if (typeof console.log === 'object') log.apply.call(console.log, console, newarr); else console.log.apply(console, newarr);}};

// make it safe to use console.log always
(function(a){function b(){}for(var c="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),d;!!(d=c.pop());){a[d]=a[d]||b;}})
(function(){try{console.log();return window.console;}catch(a){return (window.console={});}}());

包括它们,使用它们,您将不会因IE中的调试输出而产生任何错误。

可能是
控制台.log
已被页面上的某些脚本重写。我会测试这个
警报
行为是出现在所有站点上,还是仅出现在您当前正在测试的站点上。(如果它确实在任何地方发生,则可能是浏览器加载项正在重写
console.log
。)


尝试使用
console.warn
(或者在必要时甚至使用
console.error
)——这可能仍会像预期的那样运行。这是一个很好的健全性检查,如果您从未使用过
console.log
,它仍然可以让您调试输出。

您必须提供一个测试用例,因为我从未(即使使用IE6中的开发工具)创建过
console.log()
警报()。根据我的经验,如果工具没有打开,
console.log()
会抛出一个错误,因为除非工具打开,否则
console
是未定义的。