在 Firefox 中自定义 URL 栏格式

在 Firefox 中自定义 URL 栏格式

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;
}

附言:我不熟悉代码库,所以请随意查看提到的文件并检查。

相关内容