Saya sedang membuat sambungan Opera dan saya ingin mendapatkan beberapa imej yang disimpan dalam laluan sambungan.
Apa yang dilakukan oleh pemalam ini ialah, pada halaman web tertentu, menukar URL imej latar belakang dan beberapa ikon kepada ikon tersuai dalam sambungan.
Namun, apabila saya menjalankan skrip, semuanya menjadi tidak kelihatan, bermakna ia gagal memuatkan imej.
Di dalam pembalak saya nampak chrome-extension://invalid/ net::ERR_FAILED
tetapi apabila saya log laluan ia kelihatan biasa.
Dalam manifest.json
文件中,我拥有 webRequest
和 storage
keizinan, pemalam juga mempunyai kebenaran untuk membaca fail pengguna, saya telah menyemak dua kali kebenaran.
Adakah saya terlepas kebenaran untuk mengunci saya? Penyenaraian 3 Adakah ia tidak membenarkan menukar imej latar belakang?
Saya juga cuba menjalankan skrip yang sama pada Firefox dan semuanya berfungsi dengan baik.
// 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')";
Skrip yang saya tulis kelihatan seperti ini, mengapa ia tidak berfungsi di opera?
Saya juga cuba membenamkan imej ini sebagai base64, tetapi memandangkan setiap imej adalah besar, tidak semua elemen akan memaparkan imej.
Baiklah, saya tahu di mana masalahnya...ia adalah Penyenaraian 3.
Sebab ia berfungsi pada Firefox adalah kerana saya menggunakan versi manifes 2 dan Opera menggunakan versi 3.