首頁  >  問答  >  主體

如何允許chrome擴充功能存取他的路徑和文件

我正在製作 Opera 擴展,我想獲取儲存在擴展路徑中的一些圖像。

這個外掛程式的作用是,在特定網頁上,將背景圖像 URL 和一些圖示變更為擴充功能內的自訂圖示。

但是,當我運行腳本時,所有內容都變得不可見,這意味著它無法載入映像。

在記錄器內,我看到 chrome-extension://invalid/ net::ERR_FAILED 但當我記錄路徑時,它看起來很正常。

manifest.json 檔案中,我擁有webRequeststorage 權限,該外掛程式還具有讀取使用者檔案的權限,我有雙重權限已檢查。

我是否缺少將我鎖定的權限?清單 3 不允許更改背景圖片嗎?

我也嘗試在 Firefox 上執行相同的腳本,但一切正常。

// get image folder from current plugin path.
let extFolder = chrome.runtime.getURL("images/"); // chrome
//let extFolder = extension.getURL("images/"); // firefox

// should look like: chrome-extension://<id>/images/
console.log(extFolder);

// get element to change.
let board = document.getElementById("board");

// change image.
board.style.backgroundImage = "url('" extFolder "board.png')";

我寫的腳本看起來像這樣,為什麼它在歌劇上不起作用?

我還嘗試將這些圖像嵌入為 base64,但是由於每個圖像都很大,因此並非所有元素都會渲染圖像。

P粉644981029P粉644981029235 天前738

全部回覆(1)我來回復

  • P粉738346380

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

    好的,我發現問題出在哪裡...是清單 3。

    它在 Firefox 上運行的原因是因為我使用了清單版本 2,而 Opera 使用版本 3。

    回覆
    0
  • 取消回覆