javascript - 读取 console.log() 输出形式的 javascript

标签 javascript

我正在使用 Greasemonkey 为一个应用程序编写覆盖 UI,将 JS 注入(inject)到页面。

现在我在挂接网页上运行的一些 ajax 调用时遇到问题。 但是,该页面正在生成控制台日志,通知内容已完全加载。我的问题是:

在纯 JavaScript 中,是否有可能读取由完全不同的脚本生成的控制台输出?

function blackBox(){
   //this is generating come console output.
   //this runs on code layer I have no access to.
}

function readConsole(){
   //read console record by record
   if(console.msg == "something I want"){
      doSomething();
   }

}

提前致谢:)

最佳答案

正如其他人所说,您可以用自己的函数覆盖 console.log() 函数,并实现您自己的实现:

var oldLog = unsafeWindow.console.log;
var messages = [];

unsafeWindow.console.log = function(msg) {
    messages.push(msg);
    oldLog.apply(null, arguments);
}

// Access the entire console.log history in messages

关于javascript - 读取 console.log() 输出形式的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52347756/

相关文章:

javascript - 根据电子表格单元格值自动检查 htmlform 的复选框

javascript - pickadate() 函数不适用于克隆元素

javascript - 扩展原型(prototype)而不是声明整个对象的优点

javascript - 使用 javascript 将 href 中的所有特定术语更改为另一个特定术语

javascript - 当用户导航到不同的页面时,facebook 如何保持聊天窗口打开?

javascript - 用户上传后隐藏上传图片按钮

javascript - 交换两个 div(或与此相关的任何对象)的堆叠顺序

javascript - 如何在Ratchet中使用onclick事件?

javascript - 与 ng-model 和 ng-options 绑定(bind)时选择不选择

javascript - 在 href 标签中捕获 url