为什么在firefox源代码中没有定义console.log?

时间:2016-06-11 22:13:03

标签: javascript firefox backwards-compatibility console.log

许多网站在没有检查控制台的情况下进行console.log-ing,因此它在浏览器未定义控制台的旧浏览器上打破了javascript。 为了防止这种情况,我想在我的firefox 3.6.10的源代码中定义控制台。我尝试在Mozilla Firefox \ chrome \ browser.jar \ content \ browser \ browser.js源文件中添加它(通过提取文件,编辑,添加回来):

if (typeof console == "undefined") {
window.console = {
    log: function () {}
};
alert('stuff');}

我尝试在'let gDownloadMgr = null;'之后添加它在'function pageShowEventHandlers(event)'函数内部,以及'checkIdentity:function(state,location)'函数内部。 它没有在任何这些工作。 警报总是显示,在加载https页面的checkIdentity函数中,以及在加载任何页面时至少一次在pageShowEventHandlers中。 但是写了

javascript:console.log('stuff');void 0
地址栏中的

始终在错误控制台中返回“错误:控制台未定义”...

将完全相同的代码放在地址栏中,如下所示:

javascript:if (typeof console == "undefined") {window.console = {log:function () {}};alert('stuff');};void 0

后执行console.log时,

总是导致完全没有错误。

我甚至尝试将整个事情放在setInterval()中3秒钟,所以它肯定会在应该的时候执行。 什么都没有用,我甚至尝试使用'var console'甚至'const console'设置它,if条件和没有它。我也没有找到任何插件或任何其他解决方案

0 个答案:

没有答案