2011-08-09 98 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