Maison  >  Questions et réponses  >  le corps du texte

Comment autoriser l'extension Chrome à accéder à son chemin et à ses fichiers

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

P粉644981029P粉644981029235 Il y a quelques jours735

répondre à tous(1)je répondrai

  • P粉738346380

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

    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.

    répondre
    0
  • Annulerrépondre