访问window.console后覆盖 [英] Access window.console after overwrite

查看:182
本文介绍了访问window.console后覆盖的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

覆盖后可以以某种方式访问​​console.log吗?

Is it possible to somehow access to console.log after it gets overwritten?

window.console = { log: function (msg) { alert(msg); }, /* etc... */ };

是否可以重新获得原来的console.log功能?

Would be it be possible to regain the original console.log functionality?

推荐答案

您可以在覆盖之前备份控制台。

You can back up the console before overwriting it.

var oldConsole = window.console;
window.console = { log:function(msg){alert(msg)} //...};

然后您可以使用 oldConsole 变量。

Then you can use the oldConsole variable.

oldConsole.log('test');

如果无法备份,可以创建iFrame,然后从控制台窃取(这在所有浏览器中可能无效):

If you can't back it up, you can create an iFrame, and then steal the console from there (this may not work in all browsers):

var i = document.createElement('iframe');
i.style.display = 'none';
document.body.appendChild(i);
window.console = i.contentWindow.console;

演示: http ://jsfiddle.net/jcG7E/2

这篇关于访问window.console后覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆