2013-04-25 55 views
3

我有一個用於控制自定義設備的網站。 在這個表格中,你點擊一個單元格,並使用javascript將顏色發送到設備。Windows 7高對比度主題覆蓋Firefox中的網站顏色

<table style="width:100%;" id="ColorTable"> 
<tr> 
    <td style="background-color:#FF8080;"><br/><br/></td> 
    <td style="background-color:#FFFF80;"><br/><br/></td> 
    <td style="background-color:#808000;"><br/><br/></td>  etc. 

不幸的是,在控制設備的Windows 7計算機上,高對比度主題#1處於活動狀態(嘆氣),因爲客戶需要這種方式。

Windows XP用於在更改主題時忽略網站,但Windows 7似乎覆蓋Firefox中網站的樣式表信息。加載網站時,單元格顯示爲黑色,並在單擊時向設備發送#000000。

谷歌瀏覽器顯示顏色不變。 Internet Explorer不。

是否有..

..tell火狐/網站忽視的Windows 7主題的方法嗎?

..告訴Windows 7主題離開網站單獨?

更改兼容性設置和Firefox的顏色設置不起作用。

非常感謝幫助!

回答

2

我知道這是問很久以前的事,但我會的情況下,其他人也陷入了同樣的問題,我已經回答這個問題。

高對比度的主題是可用性,就像在標誌或斜坡而不是樓梯上的brail。許多程序如Skype和Firefox都會檢查這些內容並改變其視覺效果以匹配。

如果你只是想對比度主題的外觀,選擇經典的主題,直到它們匹配您所選擇的主題調整設置。

0

有關於這個問題上Bugzilla的錯誤。

這是我的解決方法。這增加了<body>

<div class="high-contrast-test"></div> 

添加這個CSS:

.high-contrast-test { 
    width: 0; 
    height: 0; 
    background-image: url('#'); 
} 

使用這個JavaScript:

$(document).ready(function() { 

    // detect high contrast mode to deal with firefox bug 
    // .high-contrast-test has a background-image, 
    // if there is no background-image we are in high contrast mode 
    // https://bugzilla.mozilla.org/show_bug.cgi?id=452800 
    if ($('.high-contrast-test').css('background-image') === 'none') { 
     if ($('.Container').css('background-color') === 'rgb(255, 255, 255)') { 
      $('html').addClass('hc-black-on-white'); 
     } else { 
      $('html').addClass('hc-white-on-black'); 
     } 
    } 
}); 

然後你可以使用CSS路徑覆蓋HC模式CSS。

0

我剛剛遇到此問題,Windows 10

什麼工作對我來說,可能對你的工作是:

about:preferences#contentColors...

然後改變覆蓋由指定的顏色Only with High Contrast themesNever:與您的選擇上面的頁面。

Firefox High Contrast Colours

(我使用的是GreyEveTheme FINAL- Windows 10 High Contrast Theme