每个域本地更改CSS

时间:2010-07-20 01:06:40

标签: html css browser greasemonkey

我想将CSS添加到具有特定网址的网页,其方式与Greasemonkey添加JavaScript的方式非常相似。我想我可以用脚本注入一些CSS,但这不是那么干净。

是否有任何浏览器插件可以让我这样做?它不一定需要是Firefox。

2 个答案:

答案 0 :(得分:4)

Firefox上有Stylish个附加组件。它支持全局,每域和每URL用户样式表。它似乎对我使用它的效果很好,尽管我承认它并没有非常认真地使用它。

答案 1 :(得分:2)

如果您可以访问jQuery,则可以非常轻松地执行此操作:

var css_href = "path to css";
var head = document.getElementsByTagName('head')[0]; 

$(document.createElement('link')) 
    .attr({ type: 'text/css', 
            href: css_href, 
            rel: 'stylesheet, 
            media: 'screen''}) 
    .appendTo(head); 

[Source]

这也可以通过vanilla JavaScript轻松完成:

function addStyle(style) {
    var head = document.getElementsByTagName("HEA­D")[0];
    var ele = head.appendChild(window.document.c­reateElement( 'style' ));
    ele.innerHTML = style;
    return ele;
}

addStyle('@import "/URL/TO/STYLESHEET;"');

[Source](显然来自Dive into Greasemonkey最初的“Mark Pilgrim

您可能希望确保您的样式具有!important声明。

话虽如此,也应该很容易以这种方式删除现有的样式表,甚至可能迭代元素并删除内联样式。