2011-08-09 99 views
1

我正在创建一个浏览器扩展,让您可以调整页面的CSS。
基本上,如果用户使用浅色文字决定深色背景,则该更改应反映在他们正在查看的网站上。
原因是可读性。
患有色盲和一些与视觉有关的残疾的人发现难以阅读某些颜色。将CSS注入网站

这有几个挑战。
我希望能够将background-color元素更改为所选的背景颜色,将color元素更改为所选的文本颜色。

很显然,我必须考虑到复杂的网站布局,以及满足那些复杂的规则,即

#container div.note p 

我可以在此使用JavaScript,但像jQuery没有图书馆,那么有没有一种方法,我可以做到这一点?

有没有一种方法可以将CSS样式表应用于将覆盖样式表中每个背景元素和每个颜色元素的页面?

+1

你见过油猴? –

+0

是的,我想创建类似的东西。我希望能够为其他人创建一个简单的工具来使用这种效果。 –

回答

4

我建议为此编写一个GreaseMonkey脚本,因为它允许您设置规则在网站的每个页面上运行。 GM只是JavaScript的封装(尽管它也扩展了功能)。

不,不难编写一个应用CSS样式表的脚本。只需创建一个<link>元素链接到它。或者,您可以对样式进行硬编码并在页面上创建<style>对象。

看看这篇文章:Dynamically loading external JavaScript and CSS files

function loadcssfile(filename){ 
    var fileref=document.createElement("link") 
    fileref.setAttribute("rel", "stylesheet") 
    fileref.setAttribute("type", "text/css") 
    fileref.setAttribute("href", filename) 

if (typeof fileref!="undefined") 
    document.getElementsByTagName("head")[0].appendChild(fileref) 
} 

loadcssfile("mystyle.css") ////dynamically load and add this .css file