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

标签 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");

最佳答案

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

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

关于javascript - 如何通过代码覆盖皮肤的设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5428532/

相关文章:

html - 将 ol 列表编号排列到左侧

带有 watir webdriver : Need help using helperApps. 的 Firefox 4 neverAsk 不提示保存 CSV

javascript - 用 upsert : true is not updating in express, mongoose 更新?

css - 为什么我的 div 重叠?

javascript - 用 jquery 替换 html 按钮

css - 标题后的三 Angular 形与标题背景渐变相匹配

angularjs - 在 Firefox 中关闭对话框后,Angular 1 Material Design 滚动到顶部

internet-explorer - 控制/指定 KML 到 Google 地球的 URI

javascript - 如果返回数据为空则提醒ajax成功

javascript - 当用户滚动到平滑滚动的部分时,如何添加事件类?