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
}