0

Chrome拡張機能を作成しようとしていますが、私を超えた何らかの理由で、他の場所でホストされているURLから画像をロードする必要があります...

{
  "name": "Name",
  "version": "1.0",
  "manifest_version": 1,
  "description": "A something something something",
  "browser_action": {
    "default_icon": "favicon.ico",
    "default_popup": "popup.html"
  },
  "icons": {
    "128": "logo_white.gif"
    }

}

favicon.ico と logo_white.gif をhttp://www.example.com/favicon.icohttp://www.example.com/logo_white.gifから読み込むにはどうすればよいですか? 私はChrome拡張機能とJSONの使用にかなり慣れていないので、困惑しています。

ありがとう

4

2 に答える 2

3

実行時にデータをイメージ タグとしてロードし、キャンバス オブジェクトに貼り付け、ImageData を抽出して、それをsetIcon API に渡すことができます。

background.js の次のようなものでうまくいきます。

var canvas = document.createElement("canvas");
var img = new Image();
img.onload = function() {
  document.body.appendChild(canvas);
  var context = canvas.getContext("2d");
  context.drawImage(this, 0, 0);
  var imageData = context.getImageData(0, 0, img.width, img.height);
  chrome.browserAction.setIcon({imageData: imageData});
}
img.src = "http://www.example.com/logo_white.gif";
于 2012-05-31T14:08:53.033 に答える
1

拡張機能の外にあるアイコンは使用できません。拡張機能はローカル コンピューターにインストールされ、インターネット接続が利用できない場合でも、Google Chrome は拡張機能のアイコンを取得できるはずです。

于 2012-05-31T07:56:43.810 に答える