当前位置: 首页 > news >正文

chrome浏览器插件开发--如何在content_scripts的js中使用插件的本地图片

        在浏览器插件(如Chrome扩展、Firefox插件等)中,`content_scripts` 是一种强大的功能,它允许插件开发者向正在浏览的网页中注入JavaScript、CSS等文件。这些注入的脚本和样式表可以修改网页的DOM结构、样式、行为,或者与网页上的其他脚本进行交互。

"content_scripts": [{"matches": ["http://*/*", "https://*/*"],"js": ["pick.js"],"run_at": "document_idle"}],

        比如我这里`content_scripts`配置的是pick.js,但是发现在pick.js无法直接访问到插件项目里的本地图片资源。

解决方案:

1、 首先,在 manifest.json中添加web_accessible_resources配置

"web_accessible_resources": [{"matches": ["http://*/*", "https://*/*"],"resources": ["images/02.png", "images/01.png"]}],

2、在pick.js中使用 chrome.runtime.getURL() 获取到图片的url路径。( MV3 废弃了chrome.extension.getURL接口,请使用chrome.runtime.getURL替代 )

const pop_top_img_url = chrome.runtime.getURL("images/01.png");
pop_top.style.background = `url(${pop_top_img_url})`;

 这样就可以在页面创建的dom中设置本地图片的背景图了

踩坑记录:

刚开始 web_accessible_resources 配置项,我是这样写的,添加到扩展程序时会报以下错误

"web_accessible_resources": ["images/02.png", "images/01.png"],

Error at key 'web_accessible_resources'. Parsing array failed at index 0: expected dictionary, got string

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • jenkins最佳实践(二):Pipeline流水线部署springCloud微服务项目
  • uniapp在线视频监控开发
  • 精通推荐算法27:行为序列建模之BST— 代码实现
  • 开学季好物分享,精选五款开学必备的数码好物推荐!
  • 第二十六届中国机器人及人工智能大赛(智能驾驶)思路
  • 基于JavaEE的农产品销售管理系统设计与实现(源码+lw+部署文档+讲解等)
  • 随机涂鸦 pil
  • 小琳AI课堂 - AIGC在不同行业的应用潜力与未来发展深度解析
  • 2024精选骨传导耳机推荐,选这五款可以帮你避坑!
  • Java数组怎么转List,Stream的基本方法使用教程
  • FPGA硬件扑克牌比赛报名倒计时~!
  • 视频教程:自研低代码拖拽图形编辑器底层库moveable示例学习
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • BUG——imx6u开发_结构体导致的死机问题(未解决)
  • Redis 有序集合【实现排行榜】
  • “大数据应用场景”之隔壁老王(连载四)
  • 【css3】浏览器内核及其兼容性
  • 345-反转字符串中的元音字母
  • Android优雅地处理按钮重复点击
  • CentOS 7 修改主机名
  • ES6--对象的扩展
  • golang 发送GET和POST示例
  • JavaScript-Array类型
  • JavaScript实现分页效果
  • Java多态
  • JAVA之继承和多态
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Making An Indicator With Pure CSS
  • Mocha测试初探
  • node-glob通配符
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • ViewService——一种保证客户端与服务端同步的方法
  • Vim Clutch | 面向脚踏板编程……
  • vue-cli在webpack的配置文件探究
  • 搞机器学习要哪些技能
  • 聊聊sentinel的DegradeSlot
  • 你不可错过的前端面试题(一)
  • 前端攻城师
  • 区块链分支循环
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 移动端解决方案学习记录
  • 原生JS动态加载JS、CSS文件及代码脚本
  • Linux权限管理(week1_day5)--技术流ken
  • Semaphore
  • 湖北分布式智能数据采集方法有哪些?
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • # 职场生活之道:善于团结
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (LeetCode 49)Anagrams
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十)Flink Table API 和 SQL 基本概念