Я хочу указать два слегка разных цвета фона, один для Mac OS, один для Windows.
Есть ли запрос СМИ для обнаружения Windows?
Ответ 1
нет свойства указывать ОС, используемую для просмотра веб-страницы, но вы можете обнаружить ее с помощью javascript, вот несколько примеров для обнаружения операционной системы:
var OSName="Unknown OS";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
console.log('Your OS: '+OSName);
получил это?, теперь вы можете играть с document.write
, чтобы написать таблицу стилей загрузки для конкретной операционной системы.:)
В другом примере я предположил, что вы используете jquery.
if (navigator.appVersion.indexOf("Win")!=-1)
{
$(body).css('background','#333');
} else {
$(body).css('background','#000'); // this will style body for other OS (Linux/Mac)
}
Ответ 2
он доступен в последней версии mozilla.
-moz-os-version предоставляет следующие значения:
- windows-xp
- Окна-перспектива
- Окна-win7
- Окна-win8
поддержка ограничена https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries
@media (-moz-os-version: windows-xp), (-moz-os-version: windows-vista),
(-moz-os-version: windows-win7), (-moz-os-version: windows-win8) {
body{
background-color: white;
}
}
Ответ 3
Старые версии Firefox также могут обнаруживать окна (для тех, кто не использует autoupdate), и используют версию 4 или новее. Это более основательно и не говорит о версии, просто факт, что вы находитесь в окнах. Я создал это для тестирования некоторое время назад, потому что мне было любопытно.
@media screen and (-moz-windows-theme) {
body {
background-color: white;
}
}
это также рассматривается в https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries
Ответ 4
В CSS невозможно. В лучшем случае есть фильтр @media
, чтобы вы могли настроить таргетинг на мобильные устройства vs. но нет фильтра типа @os
.
Вы можете добиться этого с помощью условных тегов IE:
<link rel="stylesheet" href="everyone.css" type="text/css" />
<!--[if IE]>
<link rel="stylesheet" href="ie.css" type="text/css" />
<![endif]-->
Поместите стили, специфичные для mac, в "все" css, а затем переопределите все необходимое в версии IE.
Конечно, это не удастся, если вы получите пользователя, который на (древней) версии IE для Mac, но должен охватывать всех современных пользователей.