Chrome扩展程序控制台日志重写

3

我正在开发一个谷歌浏览器扩展程序,它可以读取控制台日志并查找IP地址出现在"Connecting to"字符串后面的位置,并获取该IP地址。

store = []; 
var oldf = console.log; 
console.log = function(){   
store.push(arguments);    
oldf.apply(console, arguments);
};

pos = 0 
server = ""

setTimeout(function(){
    for(i = 0; i < store.length; i++){
        if(store[i][0].indexOf("Connecting to") != -1){
             pos = i
        }
    }
    var goal = store[pos][0].split(" ")[self.length-1];
    server = goal
    console.log(server);
  }, 3000);

我已经尝试过在Tampermonkey上使用这段代码,效果很好,但是在Chrome扩展中却不能正常工作。控制台日志函数的覆盖正常工作,因此可能与Chrome扩展的权限有关。这是我的第一次,我不太清楚。如果您需要其他信息,请告诉我。


这段代码 store[pos][0].split(" ")[self.length-1] 即使 store.length === 0 也会运行,这可能是导致错误的原因。 - levi
@levi 这并不是错误的原因,因为期望的输出确实是输出。当我将代码作为 Chrome 扩展运行时,错误就出现了,此时期望的输出与实际输出不同。 - Yábir Garcia
1个回答

1
原因是因为 Tampermonkey 将代码注入到网站文档中,而在 Chrome Extension 中不会,如果您这样做,会编辑 Chrome 扩展的控制台。要执行此操作,您应该使用一种注入脚本的方法,您可以在这里查看。

它可以工作了,而且你还给了我一个问题的解释。谢谢 :) - Yábir Garcia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接