88731


表題の通り，ブラウザ上のすべての通信を取得しコンソールに出力しようとしています．  
以下のような拡張機能を記述し，Chromeにインストールしたのですが，適当なページにアクセスしてもコンソールには何も表示されません．

`manifest.json`

[code]

    {
        "name": "Getting Started Example",
        "description": "Build an Extension!",
        "version": "1.0",
        "manifest_version": 3,
        "permissions": [
            "webRequest"
        ],
        "host_permissions": [
            "http://*/"
        ],
        "background": {
            "service_worker": "background.js"
        }
    }
    
[/code]

`background.js`

[code]

    chrome.webRequest.onBeforeRequest.addListener(
      (details) => {
        console.log(`request url is ${details}`);
      },
      {
          urls: [
              "<all_urls>"
          ]
      },
      []
    );
    
[/code]

コンソール画面は`chrome://extensions/`の`ビューを検証`から開いています．  
[![開いているコンソールの場所](https://i.stack.imgur.com/3sf09.png)](https://i.stack.imgur.com/3sf09.png)  
コンソールにはエラーなども何も表示されていません．

Chrome拡張機能の開発は初心者なため，見ているコンソールに問題があるのか，設定に問題があるのか全く分かりません．  
解決策わかる方，ご回答いただけないでしょうか？


CC BY-SA 4.0
2022-05-07T05:29:50.767
88683
2022-05-09T12:15:49.783
2022-05-07T08:14:49.650
27493
27493
question
javascript chrome-extension
［chrome.webRequest.onBeforeRequest.addListener］を使用してブラウザ上のすべての通信を取得したい


解決できました．

使用していた`manifest_version:
3`では`chrome.webRequest.onBeforeRequest.addListener`でURLを取得することはできないため，`manifest.json`の`manifest_version`を2に下げる必要があるようです．

[code]

    {
        "name": "Getting Started Example",
        "description": "Build an Extension!",
        "version": "1.0",
        "manifest_version": 2,
        "permissions": [
            "<all_urls>",
            "webRequest"
        ],
        "background": {
            "service_worker": "background.js"
        }
    }  
    
[/code]

ただし，`manifest_version: 2`が使用できるのは2023年までです．


CC BY-SA 4.0
2022-05-09T12:15:49.783
88731
2022-05-09T12:15:49.783
27493
88683
answer