検索

ホームページ  >  に質問  >  本文

Chrome 拡張機能がパスとファイルにアクセスできるようにする方法

Opera 拡張機能を作成しているのですが、拡張機能のパスに保存されているいくつかの画像を取得したいと考えています。

このプラグインが行うことは、特定の Web ページで、背景画像の URL と一部のアイコンを拡張機能内のカスタム アイコンに変更することです。

ただし、スクリプトを実行すると、すべてが非表示になり、画像を読み込むことができません。

ロガー内には chrome-extension://invalid/ net::ERR_FAILED が表示されますが、パスを記録すると正常に見えます。

manifest.json ファイルには、webRequeststorage 権限があり、プラグインにはユーザー ファイルを読み取る権限もあり、二重の権限がチェックされています。

私をロックアウトする権限が不足しているのでしょうか?リスト 3 背景画像を変更することはできませんか?

同じスクリプトを Firefox でも実行してみましたが、すべて正常に動作しました。

// 現在のプラグイン パスから画像フォルダーを取得します。 let extFolder = chrome.runtime.getURL("images/"); // クロム //let extFolder = extension.getURL("images/"); // Firefox // 次のようになります: chrome-extension://<id>/images/ console.log(extFolder); // 変更する要素を取得します。 let ボード = document.getElementById("ボード"); // 画像を変更します。 board.style.backgroundImage = "url('" extFolder "board.png')";
私が書いた脚本は次のようになりますが、なぜオペラでは機能しないのでしょうか? 

これらの画像を Base64 として埋め込んでみましたが、各画像が大きいため、すべての要素が画像をレンダリングできるわけではありません。

P粉644981029P粉644981029300日前802

全員に返信(1)返信します

  • P粉738346380

    P粉7383463802024-02-27 14:28:05

    さて、問題がどこにあるのかわかりました...それはリスト 3 です。

    Firefox で動作する理由は、私がマニフェスト バージョン 2 を使用し、Opera がバージョン 3 を使用しているためです。

    返事
    0
  • キャンセル返事