“取消定义” Google Chrome浏览器的控制台对象
||
我正在处理一个系统,该系统在页面的早期执行了以下Javascript代码(这是我无法控制的)
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() {}
}
该代码似乎用于创建模拟“ 1”对象,以防止在没有JavaScript控制台的环境中出现javascript错误。这很不错,除了它还会阻止Google Chrome浏览器的控制台运行。有条件地检查firebug
,仅此而已
if (!(\"console\" in window) || !(\"firebug\" in console))
因此,有没有办法告诉Chrome的调试器重新初始化其控制台对象?也就是说,用简单的英语告诉Chrome
嘿,您知道何时加载页面并定义供我使用的控制台对象吗?再次执行此操作,以便我们可以覆盖用户空间中某人所做的事情。
我意识到我可以做类似的事情
console.firebug = \"faketrue\";
并捕获了条件,但我在系统中受到限制,并且在上述控制台重新定义命中之前没有办法添加JavaScript。换句话说,不,我不能只是在脑袋开始之后添加一些JavaScript代码。
没有找到相关结果
已邀请:
7 个回复
呢率篓舍烫
http://jsfiddle.net/nmY6k/ 请注意,这只是该概念行之有效的证明。 编辑 使用纯JS iframe:
http://jsfiddle.net/nmY6k/1/ 编辑 当然,如果您之后需要删除iframe元素,请执行以下操作:
财沟项胶
但是,这似乎在Firefox 4中不起作用。不过,这只是一个开始。
搜洼挂时
但是,您似乎无法删除iframe
才改隘瘁
冕偷淮款
您不可能比在HEAD中早得多。
骂陋冠
到街客核
如果原先重新定义“ 1”的代码是自修复的,我预计需要多次调用“ 13”。