Firefox 6.0 推出URL 格式在地址栏中,即 domain.tld 为黑色,而协议、子域和路径为灰色。相关关于:配置启用/禁用此功能的条目是browser.urlbar.formatting.enabled
。我想自定义这些元素。例如,不要使用不同的颜色,而是将域设为粗体。
我的研究只让我讨论了如何禁用此功能,因为这是一个有争议的界面更改。我是第一个想到这个的人吗?
我检查了 DOM 中相关的 CSS 选择器,但没有找到任何特定于域或其他部分的属性。我还查看了各种 XML 文件(例如chrome://browser/content/urlbarBindings.xml#urlbar
),但我不懂 JavaScript。
我已将相关的 XML/JavaScript 代码粘贴在此处:http://pastie.org/3122111
答案1
看看这里,
https://wiki.mozilla.org/Firefox/Features/Locationbar_Domain_Highlight-> 实施部分 ->错误 451833&错误 654411->错误 654411#c43->修补。
看这里,是添加了 URL 高亮功能的补丁,它包含完整的实现。
从第二个错误开始nsTextFrameThebes.cpp,这就是他们改变颜色本身的地方,相关的代码似乎是
1.12 - nsILookAndFeel* look = mPresContext->LookAndFeel();
1.13 - nscolor foreColor;
1.14 - look->GetColor(nsILookAndFeel::eColor_graytext, foreColor);
1.15 - *aForeColor = foreColor;
1.16 + nscolor textColor = GetTextColor();
1.17 + textColor = NS_RGBA(NS_GET_R(textColor),
1.18 + NS_GET_G(textColor),
1.19 + NS_GET_B(textColor),
1.20 + (PRUint8)(255 * 0.5f));
1.21 + // Don't use true alpha color for readability.
1.22 + InitCommonColors();
1.23 + *aForeColor = NS_ComposeColors(mFrameBackgroundColor, textColor);
1.24 }
所以我担心颜色是硬编码的。
为了测试,我将其添加到 userChrome.css,它不会改变位置栏中的颜色(域名仍然突出显示;相同的颜色):
* {
color: black !important;
opacity: 1 !important;
-moz-appearance: none !important;
}
附言:我不熟悉代码库,所以请随意查看提到的文件并检查。