我喜欢制作用户脚本。更好地控制您喜欢的页面或只是加快其加载速度真的很有趣。
有趣的是,我遇到了一个问题,即页面要么定义对新虚拟对象的控制台引用:
window.console = {log: function() {}, info: function() {} ... };
或者它甚至破坏了功能:
window.console.log = function() {};
window.console.info = function() {};
...
我用window
来表明我说的是全球范围。另外,在第二个示例中,我没有故意对同一函数使用快速辅助
现在你会如何处理这个问题?警报效果很好,但我已经习惯了Firebug,而且它是控制台。
无法表达我会多么优雅地寻求任何帮助。
PNS.:目前,英雄联盟论坛是有问题的网站。运行以下代码以查看问题:
window.console.log.toString(); //returns "function () {}"
好吧
,我这里有一个令人讨厌的解决方案。创建一个 iframe(创建新窗口)并获取该 iframe 的控制台对象:
function healConsole() {
//<iframe> element
var iframe = document.createElement("iframe");
//Hide it somewhere
iframe.style.position="fixed";
iframe.style.height = iframe.style.width = "1px";
iframe.style.top = iframe.style.left = "-5px";
//No src to prevent loading some data
iframe.src = "about: blank";
//Needs append to work
document.body.appendChild(iframe);
//Get the inner console
window.console = iframe.contentWindow.console;
}
不确定这有多跨浏览器。我正在寻找更好的东西...