在 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(使用前将#替换为@)