chrome 插件开发,如何获取浏览器主题颜色

6 天前
 ahongg1105

不仅仅是 light 和 dark 喔,就是比如我的就是酒红色的主题。目的是实现如自带书签侧栏那样风格

917 次点击
所在节点    程序员
7 条回复
woodytang
6 天前
对于 Chrome 插件开发中获取浏览器主题颜色,您可以使用 Chrome 扩展 API 中的`chrome.theme`接口。以下是获取浏览器主题颜色的步骤和示例代码:

1. 首先,在您的 manifest.json 文件中添加必要的权限:

```json
{
"permissions": [
"theme"
]
}
```

2. 然后,您可以使用以下代码来获取当前主题的颜色:

```javascript
chrome.theme.getCurrent((theme) => {
if (theme.colors) {
console.log('框架颜色:', theme.colors.frame);
console.log('工具栏颜色:', theme.colors.toolbar);
console.log('标签背景颜色:', theme.colors.tab_background_text);
// 还有其他可用的颜色...
} else {
console.log('用户没有自定义主题');
}
});
```

这段代码会获取当前主题的颜色信息。如果用户有自定义主题,`theme.colors`对象会包含各种 UI 元素的颜色值。

请注意以下几点:

1. 并非所有的主题都会定义所有可能的颜色值。您应该检查每个颜色值是否存在。

2. 颜色值通常以 RGB 格式返回,例如`[255, 0, 0]`表示红色。

3. 如果用户没有使用自定义主题,`theme.colors`可能为 undefined 。

4. 这个 API 只能在扩展的背景脚本或弹出窗口中使用,不能在内容脚本中直接使用。

如果您需要在内容脚本中使用这些颜色值,您可以在背景脚本中获取颜色,然后通过消息传递将颜色信息发送到内容脚本。

希望这些信息对您有所帮助!如果您有任何其他问题,请随时询问。




我帮你问了 cursor:)
mumbler
6 天前
@woodytang 不要贴 AI 回答,会封号,我大号就被封了
nagisaushio
6 天前
@woodytang 喜欢未经验证就发是吧,小心被站长撅了

https://developer.chrome.com/docs/extensions/reference/api 貌似并没有一个叫 chrome.theme 的 API
woodytang
6 天前
完了完了,怎么删,我怎么找不到删除按钮~
ahongg1105
6 天前
没有这个 api
zhongzhaoguo
6 天前
利用截图的 api 截张图 然后读取指定位置的像素 获取颜色值
jimmy3780
5 天前
@woodytang 15 年来那么久了没看过站规嘛…普通用户是删除不了回复的,v2 原则上也不允许复制粘贴 AI 生成的文字。你这个如果被逮到只能自求多福

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1072698

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX