它被覆盖后可以以某种方式访问console.log?
- window.console = { log: function (msg) { alert(msg); },/* etc... */ };
是否可以重新获得原始的console.log功能?
解决方法
您可以在覆盖控制台之前备份它.
- var oldConsole = window.console;
- window.console = { log:function(msg){alert(msg)} //...};
然后可以使用oldConsole变量.
- oldConsole.log('test');
如果您无法备份,您可以创建一个iFrame,然后从那里窃取控制台(这可能无法在所有浏览器中运行):
- var i = document.createElement('iframe');
- i.style.display = 'none';
- document.body.appendChild(i);
- window.console = i.contentWindow.console;