1

Omnibox 拡張機能でフォーム データを作成して Web サイトに投稿し、結果を表示するにはどうすればよいですか?

これが私がやりたいことの例です。アドレスバーに入力lookup bieberすると、拡張機能が次のようなフォーム データを投稿するようにします

searchtype: all
searchterm: bieber
searchcount: 20

URLへhttp://lookup.com/search

ブラウザがhttp://lookup.com/search検索結果をロードするようにします。

GET でデータを送信できれば簡単ですが、lookup.com は HTTP POST を想定しています。私が考えることができる唯一の方法は、現在のページにフォームを挿入してから送信することですが、(a) 現在のページがある場合にのみ機能し (b) とにかく機能していないようです (おそらく権限設定する必要があります)。

その道をたどる前に、誰かが少なくとも以前にこれをやろうとしたにちがいないと思いました。ありますか?

4

1 に答える 1

0

これは、オムニボックスAPIを使用して行うことができます。

chrome.omnibox.onInputChanged.addListener(
  function(text, suggest) {
    doYourLogic...
  });

入力した特定のキーワードのために拡張機能を「アクティブ化」したら、次のように呼び出すことができます。

var q = the params you wish to pass
var url = "http://yourSite.com";

var req = new XMLHttpRequest();
req.open("POST", url, true);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 req.onreadystatechange = function() {
  if (req.readyState == 4) {
    callback(req.responseXML);
  }
}
req.send(q);
于 2012-08-08T08:56:29.057 に答える