我正在製作 Opera 擴展,我想獲取儲存在擴展路徑中的一些圖像。
這個外掛程式的作用是,在特定網頁上,將背景圖像 URL 和一些圖示變更為擴充功能內的自訂圖示。
但是,當我運行腳本時,所有內容都變得不可見,這意味著它無法載入映像。
在記錄器內,我看到 chrome-extension://invalid/ net::ERR_FAILED
但當我記錄路徑時,它看起來很正常。
在manifest.json
檔案中,我擁有webRequest
和storage
權限,該外掛程式還具有讀取使用者檔案的權限,我有雙重權限已檢查。
我是否缺少將我鎖定的權限?清單 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,但是由於每個圖像都很大,因此並非所有元素都會渲染圖像。
好的,我發現問題出在哪裡...是清單 3。
它在 Firefox 上運行的原因是因為我使用了清單版本 2,而 Opera 使用版本 3。