javascript - 更改控制台对象引用后即可访问控制台

标签 javascript firebug greasemonkey console.log

我喜欢制作用户脚本。更好地控制您喜爱的页面或只是加快其加载速度真的很有趣。

目前,我遇到了一个问题,页面要么定义了对新虚拟对象的控制台引用:

window.console = {log: function() {}, info: function() {} ... };

或者它甚至破坏了功能:

window.console.log = function() {};
window.console.info = function() {};
...

我使用 window 来表明我正在谈论全局范围。另外,在第二个示例中,我没有故意对同一函数使用快速分配

现在你会如何处理这个问题?警报工作得很好,但我已经习惯了 Firebug 和它的控制台。
无法表达我将多么慷慨地寻求任何帮助。

PNS.:目前,League of Legends forums是有问题的网站。运行以下代码查看问题:

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;
}

但不确定跨浏览器的情况如何。我正在寻找更好的东西...

关于javascript - 更改控制台对象引用后即可访问控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21944457/

相关文章:

javascript - 如何在 Firefox 中关注插件时不失去全屏?

javascript - Greasemonkey 和 http-on-modify-request

javascript - 将 $scope.master 传递到下一个表单

javascript - 如何使用 nodejs 按数组的内部数组大小对数组进行排序?

javascript - 奇怪的 js 正则表达式行为

Javascript 代码没有按预期工作

javascript - 将页面的每个onclick替换为img src链接?

javascript - 将当前的 Google map 另存为图片

javascript - 单击操作 Jquery 不起作用

firefox - Firebug Net 选项卡中报告的读取时间