恢复console.log()
出于某种原因,Magento附带的原型框架(或其他JavaScript代码)正在取代标准控制台功能,因此我无法调试任何内容。 在JavaScript控制台console
写下我得到以下输出:
> console
Object
assert: function () {}
count: function () {}
debug: function () {}
dir: function () {}
dirxml: function () {}
error: function () {}
group: function () {}
groupEnd: function () {}
info: function () {}
log: function () {}
profile: function () {}
profileEnd: function () {}
time: function () {}
timeEnd: function () {}
trace: function () {}
warn: function () {}
我在Linux上使用Google Chrome version 13.0.782.112
版。
Prototype JavaScript framework, version 1.6.0.3
有没有快速解决这个问题的方法?
例如,
delete console.log
还会恢复console.log
:
console.log = null;
console.log; // null
delete console.log;
console.log; // function log() { [native code] }
由于原始控制台位于window.console对象中,因此请尝试从iframe
恢复window.console
:
var i = document.createElement('iframe');
i.style.display = 'none';
document.body.appendChild(i);
window.console = i.contentWindow.console;
i.parentNode.removeChild(i);
适用于Chrome 14上的我。
Magento在/js/varien/js.js
有以下代码 - 将它注释掉并且可以使用。
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() {}
}
链接地址: http://www.djcxy.com/p/52659.html
下一篇: How to detect and measure event loop blocking in node.js?