私が使用するとき:
<img src="chrome://favicon/http://www.google.com.hk"/>
私の拡張機能で、何か問題が発生しました。警告しました。
「ローカルリソースの読み込みは許可されていません:chrome:// favicon / http://www.google.com.hk」
どうすれば修正できますか?
私が使用するとき:
<img src="chrome://favicon/http://www.google.com.hk"/>
私の拡張機能で、何か問題が発生しました。警告しました。
「ローカルリソースの読み込みは許可されていません:chrome:// favicon / http://www.google.com.hk」
どうすれば修正できますか?
"chrome://favicon/"
権限を追加したことを再確認してください。
これは"manifest_version" : 2
延長ですか?私はそれらに精通していませんが、これを許可するコンテンツ セキュリティ ポリシーを指定する必要がある場合があります。
私は同じ問題に遭遇しました。chrome://favicon/ は、拡張機能が作成したポップアップやタブなどの拡張機能独自のページでのみ機能することを試してみました。挿入されたコンテンツ スクリプトから通常のタブにロードすると機能しません。
挿入されたコンテンツ スクリプトからファビコンをロードする場合、いくつかの方法があります。
最初のものは、いくつかのサービスへのリクエストを使用して、Web の favicon を取得することです。例: http://www.google.com/s2/favicons?domain=https://stackoverflow.com/ https 経由で読み込まれるページにコンテンツ スクリプトが挿入されることを除いて、この方法は正常に機能します。理由は混合コンテンツのブロックによるものです
2 つ目は、chrome://favicon/ からバックグラウンドでファビコンを読み込み、コンテンツ スクリプトに転送することです。
例: この関数は、バックグラウンド スクリプトで実行するために使用されます
function fetchFavicon(url) {
return new Promise(function(resolve, reject) {
var img = new Image();
img.onload = function () {
var canvas = document.createElement("canvas");
canvas.width =this.width;
canvas.height =this.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(this, 0, 0);
var dataURL = canvas.toDataURL("image/png");
resolve(dataURL);
};
img.src = 'chrome://favicon/' + url;
});
}
私は自分の拡張機能にこの方法を使用していますが、うまく機能しています。Super Focus Tabs拡張機能をご覧ください。
同じ問題があり、Google 開発者サイトで検索した結果、にアクセス許可を追加する必要があることがわかりましchrome://favicon/
たmanifest.json
。
次に、に移動しchrome://extensions
てリロードを押して、マニフェストの変更を読み取ります。
注: 末尾のスラッシュは重要です!