So erlauben Sie der Chrome-Erweiterung den Zugriff auf seinen Pfad und seine Dateien
P粉644981029
P粉644981029 2024-02-26 23:12:34
0
1
799

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 文件中,我拥有 webRequeststorage 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.

P粉644981029
P粉644981029

Antworte allen(1)
P粉738346380

好的,我发现问题出在哪里...是清单 3。

它在 Firefox 上运行的原因是因为我使用了清单版本 2,而 Opera 使用版本 3。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage