首页  >  问答  >  正文

如何允许chrome扩展访问他的路径和文件

我正在制作 Opera 扩展,我想获取存储在扩展路径中的一些图像。

该插件的作用是,在特定网页上,将背景图像 URL 和一些图标更改为扩展程序内的自定义图标。

但是,当我运行脚本时,所有内容都变得不可见,这意味着它无法加载图像。

在记录器内,我看到 chrome-extension://invalid/ net::ERR_FAILED 但当我记录路径时,它看起来很正常。

manifest.json 文件中,我拥有 webRequeststorage 权限,该插件还具有读取用户文件的权限,我有双重权限已检查。

我是否缺少将我锁定的权限?清单 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,但是由于每个图像都很大,因此并非所有元素都会渲染图像。

P粉644981029P粉644981029235 天前741

全部回复(1)我来回复

  • P粉738346380

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

    好的,我发现问题出在哪里...是清单 3。

    它在 Firefox 上运行的原因是因为我使用了清单版本 2,而 Opera 使用版本 3。

    回复
    0
  • 取消回复