1

Ich versuche, eine normale Chrome-Browsererweiterung (NICHT eine devtool-Erweiterung) zu erstellen, die bei Aktivierung auf einer bestimmten Seite eine erhält Liste aller IPs, von denen Ressourcen angefordert werden. Ich weiß, wie man diese Liste aus dem HAR-Protokoll erhält, indem ich in der Seite devtools_page chrome.devtools.network.getHAR() aufruft und dann das HAR-Protokoll an ein Hintergrundskript sendet. Sie können chrome.devtools. * Jedoch nur innerhalb einer Devtools-Seite aufrufen, die nur für die Lebensdauer eines geöffneten Devtools-Fensters im Browser existiert. Ich möchte Devtools nicht nur öffnen müssen, um diese Funktion in devtools.js aufzurufen. Gibt es eine Möglichkeit, chrome.devtools anzurufen. * Z. von background.js, ohne Devtools im Browser zu öffnen?So rufen Sie chrome.devtools auf: * api ruft in normaler Chrome-Erweiterung auf, ohne Devtools im Browser zu öffnen

Hier ist, was gerade vor sich geht:

// background.js 
chrome.runtime.onConnect.addListener(function(port) { 
    console.assert(port.name == "somePort"); 
    port.onMessage.addListener(function(msg) { 
     console.log(msg.content); 
    }); 
}); 

,

// devtools.js 
chrome.devtools.network.getHAR(function(harLog) { 
    var port = chrome.extension.connect({name: "somePort"}); 
    port.postMessage({content: harLog}); 
}); 

,

//manifest.json 
"devtools_page": "devtools.html", 
"background": { 
    "scripts": [ 
     "background.js" 
    ], 
    "persistent": false 
} 

Antwort