Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有一种方法可以使用Javascript读取console.log?_Javascript_Console.log - Fatal编程技术网

有没有一种方法可以使用Javascript读取console.log?

有没有一种方法可以使用Javascript读取console.log?,javascript,console.log,Javascript,Console.log,这个标题不言自明 有没有一种方法可以读取输出到控制台的任何内容。使用Javascript登录到您决定读取它的那一刻?您可以在它周围创建一个代理,例如: (function(win){ var ncon = win.console; var con = win.console = { backlog: [] }; for(var k in ncon) { if(typeof ncon[k] === 'function') {

这个标题不言自明


有没有一种方法可以读取输出到控制台的任何内容。使用Javascript登录到您决定读取它的那一刻?

您可以在它周围创建一个代理,例如:

(function(win){
    var ncon = win.console;

    var con = win.console = {
        backlog: []
    };

    for(var k in ncon) {
        if(typeof ncon[k] === 'function') {
            con[k] = (function(fn) {
                return function() {
                    con.backlog.push([new Date(), fn, arguments]);
                    ncon[fn].apply(ncon, arguments);
                };
            })(k);
        }
    }
})(window);

不标准,没有人可以使用monkey patch
console.log
来使用内部队列(也可以直接写入),或者查看特定于浏览器/扩展的支持(例如,任何Firebug挂钩?)。这可能有助于您朝着正确的方向前进@user2246674我认为你的评论足够好,可以作为一个答案。但是我必须足够快,在一些脚本开始使用它之前覆盖控制台,否则在我开始覆盖控制台之前,我将丢失该脚本记录的所有内容。另外,如果脚本使用“删除控制台”,我的覆盖将丢失,对吗?因此,我需要设置一个间隔来覆盖控制台,希望在这些间隔之间不会丢失日志,对吗?我认为您实际上无法循环使用
console
@SproutCoder:
delete console不是常见的代码行。如果一个剧本能做到这一点,我会担心它还能做什么。我不会把你的时间浪费在休息上。至于“足够快”,只需将此作为页面上的第一个脚本加载,这样您就可以确保它是第一个。
for(控制台中的var k)if(控制台的类型[k]=='function')console.log(k)
似乎至少在chrome中起作用。@OneOfOne:出于某种原因,它以前对我不起作用。这次工作:)