Chrome 51 中的浅色和深色浏览器操作图标

2024-03-31

在 Chrome 51 中,隐身窗口现在具有深色工具栏背景,而以前的版本使用浅色背景。在这两种情况下,单个 16x16 图像通常无法提供良好的对比度:

当通过a向用户显示信息时browserAction图标,扩展程序可以通过什么机制提供深色主题和浅色主题的图标,并根据当前工具栏颜色在它们之间切换?

链接到图中扩展的源代码 https://github.com/pmarks-net/ipvfoo


目前还没有这样简单的机制,听起来像是一个提出的优秀功能要求 https://crbug.com/new至少对于清单而言。

不过,通过检测打开的隐身选项卡并将浏览器操作图标替换为仅该选项卡.

var incognitoIcons = {
  19: "incognito19.png",
  38: "incognito38.png"
};

chrome.tabs.onCreated.addListener(function(tab) {
  if (tab.incognito) {
    chrome.browserAction.setIcon({
      path: incognitoIcons,
      tabId: tab.id
    });
  }
});

如果您使用的是"split" 隐姓埋名的行为 https://developer.chrome.com/extensions/manifest/incognito(非默认),您可以简单地检测到并更改隐身实例的全局图标:

// Somewhere in background during initialization
if (chrome.extension.inIncognitoContext) {
  chrome.browserAction.setIcon({path: incognitoIcons});
}

请注意,内容脚本始终可以依赖inIncognitoContext,因此如果您触发浏览器操作图标更改,您可以将其传递。

显然,你可以这样做imageData代替path,就像你的情况一样。

您可能想在使用时检查 Chrome 版本;我不知道有比上面提到的更好的方法here https://stackoverflow.com/questions/8275200/how-to-get-the-current-version-of-chrome-from-an-extension.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 51 中的浅色和深色浏览器操作图标 的相关文章

  • Chrome消息传递错误:尝试使用断开连接的端口对象

    我的 Chrome 扩展使用长期存在的 端口 对象在 内容脚本 和 弹出 页面之间传递消息 弹出窗口 能够向 内容脚本 事件监听器发送消息 但是 内容脚本 中的 端口 对象无法将消息发送到 弹出 页面 var port chrome ext
  • 如何从扩展服务工作人员创建网络工作人员

    我将首先解释我想要实现的目标 我想创建一个扩展程序 可以在不同 chrome 窗口上的选项卡之间切换 并显示每个选项卡 X 时间 我发现了一个类似的扩展 但它是使用manifest V2完成的 并且不支持多个窗口 我想通过为每个窗口创建一个
  • 如何使用 jsdom 从 Service Worker(后台脚本)操作 chrome 扩展 V3 中的 DOM?

    我正在尝试在后台脚本中操作 HTML 字符串 该字符串在 chrome 扩展 V3 中使用服务工作人员 在迁移文档中提到使用 jsdom 来访问 DOMParser https developer chrome com docs exten
  • 需要从 Chrome 扩展程序的页面内直接链接到 Chrome 内部页面

    我刚刚花了 7 个小时试图找到一种直接链接到 Chrome 内部页面的方法 目前我已经放弃了 我只是指示人们 右键单击并在新选项卡中打开 我已经尝试了一切 从 html 到 css 再到 javascript 但没有任何效果 当我单击该链接
  • Dart chrome 扩展:监听 chrome api 事件

    为了更好地描述我的问题 我创建了一个用 Dart 编写的 chrome 扩展的小示例 您可以在以下位置查看代码或下载扩展程序Gist https gist github com andigehle a09ac9b765097bb84a65
  • 如何将js文件从同一文件夹导入chrome扩展中的background.js

    我在导入与 background js 脚本库 位于同一库中的文件 score js 时遇到问题 我对 js 和 chrome 扩展都很陌生 我研究了 require js 并做了这个 背景 html h1 Tab Manager h1
  • 使 Chrome 扩展弹出窗口透明

    我正在写一个 chrome 扩展 我想知道是否有办法使弹出窗口透明 即即使弹出窗口覆盖当前页面 用户也可以看到当前页面的内容 谢谢你 昨天我想到了一个有趣的想法 虽然你不能删除白色背景 但你仍然可以mimic透明背景 这可以通过在打开弹出窗
  • 将 Chrome 扩展上的权限移至可选

    我了解到 Chrome 在添加新权限时会禁用扩展程序 当我向扩展添加新功能时 我需要在permissions列表 现在我知道我应该使用optional permissions 我的问题是 如果我将网站列表从permissions to op
  • Chrome 扩展同步调用 - 仅在窗口关闭后创建窗口

    我有这个代码 function voteNewWindow mailNum chrome windows create url http www google com incognito true function window conso
  • 从 Chrome 扩展中访问响应负载/数据

    我正在开发一个项目 需要跟踪来自某些站点的 ajax 请求 访问其中一些请求的响应负载并对其采取行动 到目前为止 我设法使用以下命令跟踪请求并访问它们的标头网络请求 API http developer chrome com extensi
  • chrome 扩展弹出窗口和背景 ajax

    我有一个要求 background html 每 10 分钟持续更新一次 当我单击弹出窗口时 它应该触发后台立即更新并在弹出窗口中显示结果 我有使用 ajax 工作的后台更新 并且我有弹出窗口触发后台以使用 ajax 工作进行立即更新 但是
  • Chrome 扩展 - 消息传递到批处理文件

    我使用了示例项目https developer chrome com extensions samples https developer chrome com extensions samples我能够运行 python 本机应用程序 有
  • 是否可以在Chrome中查看jQuery添加的数据

    创建网站时我经常使用 jQuery data 向元素添加数据的函数 是否可以在 Chrome 中查看元素存储的所有数据 因此 当我检查一个元素时 它会在 Chrome 本身中显示数据 如果没有 是否可以编写一个插件来 扩展 到 Chrome
  • 如何从上下文菜单中显示模式弹出窗口?

    如何从上下文菜单中显示模式对话框 我可以从上下文菜单中显示一个新窗口 该窗口在自己的选项卡中打开 var menuItem id rateMenu title Rate Item contexts all chrome contextMen
  • 检测 Chrome 中的丰富通知是否可用

    我的 Chrome 扩展程序大量使用了 webkitNotifications 我想切换到新的丰富通知 chrome notifications http blog chromium org 2013 05 rich notificatio
  • twitter bootstrap css 在 chrome 扩展中发生冲突

    我正在使用 bootstrap 来编写我正在编写的 chrome 扩展 当作为内容脚本导入时 CSS 似乎与我正在查看的许多网站发生冲突 即使在谷歌搜索结果页面中 想知道我是否可以做些什么来将其范围限制为我使用内容脚本注入的 dom 元素
  • Chrome 扩展程序中的后台脚本到底何时运行?

    在我的 chrome 扩展中 我有一个后台脚本 它将使用XMLHttpRequest note that this code is in the global scope i e outside of any function also n
  • Ajax 与 chrome 扩展

    我将 url 发送到 chrome 扩展中的 php 文件 并需要获得响应 但不起作用 清单 json name Get pages source version 1 0 manifest version 2 description Get
  • Javascript 访问 Disqus 评论文本框?

    我正在开发一个浏览器扩展 它应该允许我访问文本框中的评论 帖子 现在很多网站都使用 Disqus 作为评论方式 但在输入文本时我无法找到访问 Disqus 评论框的方法 Disqus API 也没有透露太多信息 有人知道访问它的方法吗 解决
  • Chrome 扩展程序中接收错误:未选中runtime.lastError:无法建立连接。接收端不存在

    我正在尝试创建一个非常简单的 Chrome 扩展程序 它允许我突出显示网页上的某个单词 右键单击打开上下文菜单 然后通过简单地将单词附加到搜索 URL 来在名为 Whitaker s Words 的数据库中搜索它 我继续收到 未检查的run

随机推荐