2012-10-12 68 views
2

IE中有一個輔助選項(「忽略網頁上指定的顏色」),從網頁中刪除所有的CSS顏色/背景顏色,以使其更容易查看某些用戶。檢測IE瀏覽器「忽略網頁上指定的顏色」設置狀態

這可能會導致問題通過刪除有用的圖像,無法在前臺輸出。

有誰知道是否有辦法在最終用戶瀏覽器中檢測到此設置的狀態?

最終它可以用來顯示替代風格,這取決於這個設置的狀態,所以如果它可以使用JS來檢測它將是完美的。

但是,我意識到這是一個遠射,因爲允許網頁檢測瀏覽器設置可能會打開安全漏洞!但任何關於這個問題的想法將不勝感激。

+0

據我所知無法做到這一點 – RomanTheGreat

+0

感謝您的快速回復。我很懷疑!我將繼續尋找一個解決方案,因爲這將使得生成用戶友好的,可訪問的網頁更加容易。 –

回答

1

您可以用getComputedStyle測試給定的元素;這不會爲你自定義css(如果用戶在可訪問性設置中定義了一個override css)來保存,但是用剝離的顏色它可以工作(儘管它仍然是黑客)。

一個jQuery的例子如下:

<div id="example" style="background-color:lime;width:40px;height:40px;border:2px solid #000;"></div> 
<script> 
$(function(){ 
    alert($("#example").css("backgroundColor")); 
}); 
</script> 

這會給你一個白色(255,255,255)配有殘疾人專用顏色和相應的石灰(0,255,0)與剝離的顏色 - 這將讓您開始使用這種檢測,應該你決定使用它。

+0

不錯!我已經做了一些快速測試,JS確實在啓用「忽略顏色」設置時返回「#ffffff」或「rgb(255,255,255)」的背景顏色值。當然,在目前的形式下,只有當用戶在加載頁面之前啓用了設置後,它纔會起作用 - 但我可以在這方面努力。非常感謝。 –

0

是的,你可以,我無法找到我要找的鏈接,但下面的鏈接將讓你開始:http://www.w3.org/TR/css3-color/#css-system

最好的事情是你不需要的JavaScript。

+0

我不明白這是如何使您能夠檢測到色彩覆蓋? – Christoph

+0

此方法自動使用用戶的設置與檢測。 –

+0

1)這已被棄用2)OP不想使用用戶設置,他想要檢測用戶是否覆蓋正常設置。 – Christoph