我在Firefox上编写一个Web扩展程序。我希望我的图标的工作方式类似于内置的Firefox的行为"截取屏幕截图"。屏幕截图图标以浅色主题/深色主题/菜单显示时以不同颜色显示。
我刚在清单中添加了page_action
,并为其设置了一个图标。黑色图标在浅色主题上看起来很好,但在黑暗主题上变得难以使用。如果浏览器处于黑暗主题中,我想要显示图标的浅色版本(并且还将菜单中的图标保持为黑色)。
我搜索了一些有关此问题的内容,并找到了browser_action
支持theme_icons
但page_action
没有。
为页面操作图标的不同用例设置不同图标的最佳做法是什么?
为不同主题配置不同图标颜色的最佳prestic是什么?
答案 0 :(得分:3)
经过更多谷歌搜索,我发现这是通过屏幕截图加载项实现的,方法是在fill="context-fill" fill-opacity="context-fill-opacity"
标记上添加<svg>
,并使用svg作为图标。
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128px" height="128px" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill="context-fill" fill-opacity="context-fill-opacity">
<path d="m0 0 H 16 V 16 H 0 Z"/>
</svg>
但遗憾的是,此功能仅在默认情况下在mozilla签名扩展上启用。因此,对用户定义的扩展程序无效。
结帐bugzilla了解更多详情:
答案 1 :(得分:2)
根据Bug 1377302,context-fill
无法正常工作,因为默认情况下未启用svg.context-properties.content.enabled
。同样的页面说明它已在Firefox 55中修复,但我使用60并且仍然没有修复。
所以,现在,我仍然会使用context-fill
希望在不久的将来,用户会看到与其他图标颜色相同的图标。