當按下移 + 左 + Alt鍵 + 打印 Windows切換到高對比度模式 - 是否有任何機會,以檢測在網頁(使用JavaScript或CSS)?如何檢查是否用戶是通過JavaScript高對比度模式或CSS
是否有機會檢測到HTTP-Request
(又名服務器端,例如通過PHP或Ruby)?
當按下移 + 左 + Alt鍵 + 打印 Windows切換到高對比度模式 - 是否有任何機會,以檢測在網頁(使用JavaScript或CSS)?如何檢查是否用戶是通過JavaScript高對比度模式或CSS
是否有機會檢測到HTTP-Request
(又名服務器端,例如通過PHP或Ruby)?
根據this article about using CSS sprites in high contrast,在Windows的高對比度模式下,背景圖像應該設置爲「無」,並且它也會改變背景顏色。這應該覆蓋任何CSS樣式表。所以你可以在初始渲染後執行一些javascript來檢測它。檢查他的demo page(「FYI [不]高對比度模式」文本)。
我有Mac(FYI開關使用Cmd + Alt + Ctrl + 8
)和他的技術不適合我,但他說它可以在Windows上工作。
如果有效,您可以使用一些JavaScript來簡單地更改CSS或設置(會話)cookie並重新加載頁面以將其傳遞到服務器並執行服務器端操作。
以下爲我工作在Win8中使用(在桌面 - ),即:
<style type="text/css">
// ...
@media screen and (-ms-high-contrast: active) {
/* any rules may come here, for example: */
.leftMenu a:hover { text-decoration: underline; }
}
// ...
</style>
我認爲,它必須與Windows應用商店的應用程序正常工作。 這不是一個完整的解決方案,但可能有用一點。
MSDN doc:@media, -ms-high-contrast。 High-contrast mode的描述也值得一提。
非常感謝你指點我正確的方向。使用@media屏幕和(-ms-high-contrast:active)樣式的另一個優點是您可以再次設置background-image屬性來覆蓋高對比度圖像設置。 – Snakebyte 2014-05-30 01:04:59
這隻適用於Internet Explorer,不適用於Firefox。 https://bugzilla.mozilla.org/show_bug.cgi?id=425598 – 2015-12-02 15:14:25
如果您要在Web應用程序中實現高對比度,請使用以下代碼塊檢測黑白對比度和白對黑對比度選擇。這將在IE中正常工作。
@media屏幕和(-MS-高對比度:黑色白底){ /* 把你的樣式代碼............. * /}
@media屏幕和(-MS-高對比度:白色黑底){ /* 把你的樣式代碼............. * /}
你的mac命令不是高對比度,但是反轉的顏色;) – 2013-11-13 18:39:51