我正在制作 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,但是由于每个图像都很大,因此并非所有元素都会渲染图像。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
好的,我发现问题出在哪里...是清单 3。
它在 Firefox 上运行的原因是因为我使用了清单版本 2,而 Opera 使用版本 3。