1

通常のクロムブラウザ拡張機能(ではなく devtool拡張機能)をビルドしようとしています。リソースが要求されているすべてのIPのリスト。私はdevtools_pageのchrome.devtools.network.getHAR()を呼び出して、HARログからこのリストを取得し、HARログにバックグラウンドスクリプトを送る方法を知っています。ただし、chrome.devtools。*は、devtoolsページ内からのみ呼び出すことができます。このページは、ブラウザの開いているdevtoolsウィンドウの存続期間中のみ存在します。私はdevtools.jsでこの関数を呼び出すためにdevtoolsを開く必要はありません。 chrome.devtools。*への呼び出し方法はありますか?ブラウザでdevtoolsを開く必要なしにbackground.jsから?chrome.devtools。* apiはブラウザのdevtoolsを開かずに通常のchrome拡張で呼び出す方法

はここで今何が起こっているのだ。

// 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 
} 

答えて

1

を、there is no way to access to chrome.devtools.* api without opening up devtools window.

chrome.devtools.* APIモジュールは、が、DevToolsウィンドウ内に読み込まれたページに対してのみ利用可能です。コンテンツスクリプトとその他の拡張ページには、これらのAPIはありません。したがって、APIはDevToolsウィンドウの有効期間を通してのみ利用可能です()。

関連する問題