光与光Chrome 51中的黑暗browserAction图标

时间:2016-04-29 06:54:25

标签: google-chrome-extension

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

IPvFoo with Light and Dark toolbars

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

Link to source code for the pictured extension

1 个答案:

答案 0 :(得分:3)

现在还没有这样简单的机制,至少对于清单来说它听起来像excellent feature request to make

通过检测隐身标签处于打开状态并替换该标签的浏览器操作图标,可以对此进行估算。

Private Sub DataGridView1_CellFormatting(sender As Object, e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting

    If e.RowIndex Mod 2 = 0 Then
        e.CellStyle.BackColor = Color.Green
    ElseIf Me.DataGridView1.Rows(e.RowIndex).Cells("YourTestField").Value = "YourValue" Then
        e.CellStyle.BackColor = Color.Orange
    End If

End Sub

Private Sub DataGridView1_SelectionChanged(sender As Object, e As System.EventArgs) Handles DataGridView1.SelectionChanged

    Me.DataGridView1.ClearSelection()

End Sub

如果您正在使用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 }); } }); incognito behavior(非默认),则可以直接检测并更改隐身实例的全局图标:

"split"

请注意,内容脚本始终可以依赖// Somewhere in background during initialization if (chrome.extension.inIncognitoContext) { chrome.browserAction.setIcon({path: incognitoIcons}); } ,因此如果您触发浏览器操作图标更改,则可以将其传递给它。

显然,您可以使用inIncognitoContext代替imageData,而不是path

您可能需要查看Chrome版本;我不知道比提到here更好的方式。