Ich erstelle eine Opera-Erweiterung und möchte einige Bilder im Pfad der Erweiterung speichern.
Dieses Plugin ändert auf einer bestimmten Webseite die Hintergrundbild-URL und einige Symbole in benutzerdefinierte Symbole innerhalb der Erweiterung.
Wenn ich jedoch das Skript ausführe, wird alles unsichtbar, was bedeutet, dass die Bilder nicht geladen werden können.
Im Logger sehe ich chrome-extension://invalid/ net::ERR_FAILED
, aber wenn ich den Pfad aufzeichne, sieht es normal aus.
In manifest.json
文件中,我拥有 webRequest
和 storage
Berechtigungen hat das Plugin auch die Berechtigung zum Lesen von Benutzerdateien, ich habe doppelte Berechtigungen überprüft.
Fehlen mir die Berechtigungen, mich auszusperren? Listing 3 Lässt sich das Hintergrundbild nicht ändern?
Ich habe auch versucht, dasselbe Skript in Firefox auszuführen, und alles hat gut funktioniert.
// 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')";
Das Drehbuch, das ich geschrieben habe, sieht so aus. Warum funktioniert es bei der Oper nicht?
Ich habe auch versucht, diese Bilder als Base64 einzubetten, aber da jedes Bild groß ist, wird das Bild nicht von allen Elementen gerendert.
好的,我发现问题出在哪里...是清单 3。
它在 Firefox 上运行的原因是因为我使用了清单版本 2,而 Opera 使用版本 3。