Je crée une extension Opera et je souhaite stocker des images dans le chemin de l'extension.
Ce plugin fait, sur une page Web spécifique, modifier l'URL de l'image d'arrière-plan et certaines icônes en icônes personnalisées au sein de l'extension.
Cependant, lorsque j'exécute le script, tout devient invisible, ce qui signifie qu'il ne parvient pas à charger les images.
À l'intérieur de l'enregistreur, je vois chrome-extension://invalid/ net::ERR_FAILED
mais lorsque j'enregistre le chemin, cela semble normal.
Dans manifest.json
文件中,我拥有 webRequest
和 storage
autorisations, le plugin a également l'autorisation de lire les fichiers utilisateur, j'ai vérifié les doubles autorisations.
Est-ce que je manque les autorisations pour me verrouiller ? Listing 3 Ne permet-il pas de changer l'image d'arrière-plan ?
J'ai également essayé d'exécuter le même script sur Firefox et tout a bien fonctionné.
// 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')";
Le scénario que j'ai écrit ressemble à ceci, pourquoi ne fonctionne-t-il pas sur l'opéra ?
J'ai également essayé d'intégrer ces images en base64, mais comme chaque image est grande, tous les éléments ne rendront pas l'image.
D'accord, j'ai compris où est le problème... c'est le listing 3.
La raison pour laquelle cela fonctionne sur Firefox est parce que j'utilise la version 2 du manifeste et qu'Opera utilise la version 3.