如何通过代码覆盖皮肤的设置?

时间:2011-03-25 04:26:14

标签: javascript css firefox firefox-addon xul

我有一个Firefox扩展程序,可以更改浏览器的标签颜色,如下所示:

tabBrowser.tabContainer.childNodes[i].style.backgroundColor = "#8f8";

此代码在我的开发配置文件中工作正常,但在工作配置文件中我安装了一个主题(Noia 2.0 eXtreme),它为选项卡设置了自己的外观,因此我的代码无法更改选项卡的颜色。是否可以通过代码覆盖主题的设置?

我只是不明白。我找到了皮肤的CSS文件,看起来很简单。

tab {
    -moz-appearance: none;
    padding: 1px 5px 2px 7px;
    border-top: 1px  solid;
    border-right: 2px solid;
    border-left: 1px solid;
    -moz-border-top-colors: #FFFFFF;
    -moz-border-right-colors: #808080 #404040;
    -moz-border-left-colors: #FFFFFF;
    -moz-border-radius-topleft: 8px;
    -moz-border-radius-topright: 8px;
    background-color: #CDCED3;
    color: #606060;
    min-height: 20px !important
}
tab[selected="true"] {
    margin-top: 0;
    padding: 1px 7px 4px 9px;
    font-weight: bold;
    background-image : url("chrome://browser/skin/icons/Bookmark-background.png") !important;
    border-bottom: 1px solid;
    -moz-border-bottom-colors: #FFFFFF;
    color: #000000;
}
tab:hover {
    color: #000000 !important;
}

设置

tabBrowser.tabContainer.childNodes[i].style.setProperty("background-image", "none", "important");

1 个答案:

答案 0 :(得分:0)

根据https://developer.mozilla.org/en/DOM/CSSStyleDeclaration您可以使用:

tabBrowser.tabContainer.childNodes[i].style.setProperty("background-color", "#8f8", "important");