我做的很简单:
console.log("Testing");
以及:
alert("testing");
警报有效(所以我知道javascript正在运行)但我无法看到日志。当我使用Firefox时,我收到以下错误:
The Web Console logging API (console.log, console.info, console.warn, console.error) has been disabled by a script on this page.
发生了什么事?我查看了以下主题,但没有一个有帮助:
Chrome: console.log, console.debug are not working
console.log quit working in Chrome
Console.log not working in Chrome [closed]
why does console.log not output in chrome? Console.log not working at all
我还确保漏斗正常工作并且已启用日志记录。
问题还有什么问题?
答案 0 :(得分:1)
我刚刚在Firefox更新后遇到了这个问题,并设法解决了这个问题。以下是导致问题的代码:
/* IE fix that allows me to still log elsewhere */
if (typeof(console)=="undefined") {
var console = {
output: null,
log: function (str) {
// we can't emulate the console in IE, but we can cache what's output
// so that IE users can get it via console.output
if (!this.output) this.output = new Array();
this.output.push(new String(str));
}
};
window.console = console;
}
在之前版本的FireFox中," var console;"不会被执行。现在它似乎增加了某种分支/预测机制。看到我可能定义了一个名为 console 的变量,它具有全局范围,它会禁用 window.console 。
我通过将 var console; 重命名为 var cons;
来修复此问题/* IE fix that allows me to still log elsewhere */
if (typeof(console)=="undefined") {
var cons = {
output: null,
log: function (str) {
// we can't emulate the console in IE, but we can cache what's output
// so that IE users can get it via console.output
if (!this.output) this.output = new Array();
this.output.push(new String(str));
}
};
window.console = cons;
}
我仍然需要对此进行测试,以确保它能够达到我在IE中的预期。我只需要找一个没有控制台的IE副本(我认为9或以下)。
我只是希望Firefox会告诉你哪些脚本禁用了控制台 - 这样会很好。
答案 1 :(得分:1)
我在Magento电子商务网站(版本1.6.2.0)上遇到了同样的问题。
我修正了它在/js/varien/js.js:637
if (!("console" in window) || !("firebug" in console))
{
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
"group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
window.console = {};
for (var i = 0; i < names.length; ++i)
window.console[names[i]] = function() {}
}
此修复仅(显然)适用于Magento网站。
答案 2 :(得分:1)
原来,主题开发人员在我不知情的情况下为主题添加了firebug lite。关闭它解决了问题。
答案 3 :(得分:0)
我认为您在尝试通过console.log()
进行登录时正在查看的页面中有一个脚本会覆盖属性window.console.log
。通常,此属性由浏览器预设,但脚本可以覆盖它。
答案 4 :(得分:0)
第一个建议:您是否使用任何其他使用控制台的开发工具?在Firefox上我遇到了同样的问题,Firebug在后台运行而没有注意到它,关闭firebug后错误就消失了。这是一个可能的重复帖子:Firefox Web Console Disabled?
其次,如果它被某些脚本覆盖,则逐个禁用脚本并查看哪个绘制错误。