3

Google Chrome 拡張機能が HTTP リクエストを作成し、結果の本文 (Curl など) を解析できるかどうかを知りたいです。たとえば?a=1&b=2、URL パラメータを要約して質問に答えるサーバー 1.2.3.4 があります。クエリ"http://1.2.3.4?a=1&b=2"は を含む本文を返し3、拡張機能はそのようなクエリを送信して結果を解析したいと考えています。

どんな助けでも大歓迎です。

4

1 に答える 1

14

はい、Cross-Origin XMLHttpRequestを使用します。

  1. で権限を設定しますmanifest.json

  2. 次に、拡張ページで次のように使用します。

    var xhr = new XMLHttpRequest();
    xhr.open("GET", "http://api.example.com/data.json", true);
    xhr.onreadystatechange = function() {
      if (xhr.readyState == 4) {
        // WARNING! Might be injecting a malicious script!
        document.getElementById("resp").innerHTML = xhr.responseText;
        ...
      }
    }
    xhr.send();
    

ノート:

  • コンテンツ スクリプトは、最新の Chrome ではクロスオリジン リクエストを作成できません。詳細は.
  • ManifestV3 バックグラウンド スクリプトには XMLHttpRequest がないため、そこでfetchを使用します。
于 2012-07-16T14:45:46.057 に答える