我正在制作 Opera 扩展,我想获取存储在扩展路径中的一些图像。
该插件的作用是,在特定网页上,将背景图像 URL 和一些图标更改为扩展程序内的自定义图标。
但是,当我运行脚本时,所有内容都变得不可见,这意味着它无法加载图像。
在记录器内,我看到 chrome-extension://invalid/ net::ERR_FAILED
但当我记录路径时,它看起来很正常。
在 manifest.json
文件中,我拥有 webRequest
和 storage
权限,该插件还具有读取用户文件的权限,我有双重权限已检查。
我是否缺少将我锁定的权限?清单 3 不允许更改背景图片吗?
我也尝试在 Firefox 上运行相同的脚本,但一切正常。
// 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')";
我写的脚本看起来像这样,为什么它在歌剧上不起作用?
我还尝试将这些图像嵌入为 base64,但是由于每个图像都很大,因此并非所有元素都会渲染图像。
好的,我发现问题出在哪里...是清单 3。
它在 Firefox 上运行的原因是因为我使用了清单版本 2,而 Opera 使用版本 3。