V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ahongg1105
V2EX  ›  程序员

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

  •  
  •   ahongg1105 · 104 天前 · 1339 次点击
    这是一个创建于 104 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    7 条回复    2024-09-14 12:15:16 +08:00
    woodytang
        1
    woodytang  
       104 天前
    对于 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
        2
    mumbler  
       104 天前   ❤️ 1
    @woodytang 不要贴 AI 回答,会封号,我大号就被封了
    nagisaushio
        3
    nagisaushio  
       104 天前 via Android
    @woodytang 喜欢未经验证就发是吧,小心被站长撅了

    https://developer.chrome.com/docs/extensions/reference/api 貌似并没有一个叫 chrome.theme 的 API
    woodytang
        4
    woodytang  
       104 天前
    完了完了,怎么删,我怎么找不到删除按钮~
    ahongg1105
        5
    ahongg1105  
    OP
       104 天前
    没有这个 api
    zhongzhaoguo
        6
    zhongzhaoguo  
       104 天前
    利用截图的 api 截张图 然后读取指定位置的像素 获取颜色值
    jimmy3780
        7
    jimmy3780  
       103 天前 via iPhone
    @woodytang 15 年来那么久了没看过站规嘛…普通用户是删除不了回复的,v2 原则上也不允许复制粘贴 AI 生成的文字。你这个如果被逮到只能自求多福
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5741 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 02:53 · PVG 10:53 · LAX 18:53 · JFK 21:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.