plasmo浏览器插件框架使用react和ant.design框架创建页面内容脚本UI样式注入

使用plasmo开发浏览器插件的时候,想要使用内容脚本UI注入自定义的UI组件,官方文档:Content Scripts UI -- Plasmo,最好是搭配上好看的UI样式,所以可以集成ant.design的UI组件库,但是只集成组件还不行,还需要引入样式,但是内容脚本就不能很友好的引入框架的样式,只是引入组件,在内容脚本上是没有样式的, 因为没有引入自定义样式:

这和我们的UI'组件库里面显示的效果完全不一致啊,这就是因为没有把ui框架的样式注入导致的,因为plasmo的内容脚本是注入到页面中的,所以无法将UI框架的css样式也注入进去,所以只能通过手动创建css文件,然后将UI框架的css样式复制进去。比如我们找到UI框架的按钮样式,然后将按钮的css复制出来:

然后在plasmo的内容脚本里面创建css文件,并将css文件引入到内容脚本里面:

在内容脚本UI里面引入这个css文件:

javascript 复制代码
import cssText from 'data-text:~/contents/index.css'

// load style file
export const getStyle = () => {
    const style = document.createElement('style')
    style.textContent = cssText
    return style
}

然后保存刷新页面:

样式就出来了!

相关推荐
锋行天下3 小时前
公司内网部署大模型的探索之路
前端·人工智能·后端
1024肥宅4 小时前
手写 EventEmitter:深入理解发布订阅模式
前端·javascript·eventbus
海市公约5 小时前
HTML网页开发从入门到精通:从标签到表单的完整指南
前端·ide·vscode·程序人生·架构·前端框架·html
行云流水6266 小时前
前端树形结构实现勾选,半勾选,取消勾选。
前端·算法
diudiu_336 小时前
web漏洞--认证缺陷
java·前端·网络
阿珊和她的猫6 小时前
<video>` 和 `<audio>` 标签的常用属性解析
前端
LSL666_7 小时前
4 jQuery、JavaScript 作用域、闭包与 DOM 事件绑定
前端·javascript·html
yinuo7 小时前
前端跨页面通讯终极指南⑤:window.name 用法全解析
前端
小飞侠在吗7 小时前
vue computed 和 watch
前端·javascript·vue.js
yinuo7 小时前
前端跨页面通讯终极指南④:MessageChannel 用法全解析
前端