Я ищу способ обнаружить ОС для страницы загрузки, используя jQuery или Javascript, чтобы рекомендовать определенные файлы для Mac и Windows. Я надеялся сделать это, не добавив еще один плагин на мою страницу.
JQuery/Javascript для обнаружения ОС без плагина?
Ответ 1
Попробуйте:
 var os = navigator.platform;
Затем обработайте переменную os соответственно для вашего результата.
Вы также можете прокручивать каждый объект объекта navigator, чтобы помочь вам лучше ознакомиться с объектами:
<script type="text/javascript">
for(var i in navigator){
    console.log(i+"="+navigator[i]+'<br>');
}
</script>
		Ответ 2
Обычный 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";
document.write('Your OS: '+OSName);
Как Ник предложил использовать navigator.platform.
Ответ 3
Насколько я знаю, platform является менее поддельным свойством в объекте навигатора.
Вы можете использовать это для получения логических данных.
var isMac = navigator.platform.toUpperCase().indexOf('MAC')!==-1;
var isWindows = navigator.platform.toUpperCase().indexOf('WIN')!==-1;
var isLinux = navigator.platform.toUpperCase().indexOf('LINUX')!==-1;
Если вам нужно отличать Mac от старого PowerPc и нового Intel.
var isMacPpc=navigator.platform==="MacPPC";
var isMacIntel=navigator.platform==="MacIntel";
https://developer.mozilla.org/en/DOM/window.navigator.platform
Ответ 4
Try:
alert(navigator.appVersion);
Это должно дать вам строку, которую вы можете проанализировать для ОС.
Ответ 5
<script>
osName = 'Unknown';
function nav(x, y, z) {
    z = z || y;
    if (navigator[x] && navigator[x].indexOf(y) !== -1) {
        osName = z;
    }
}
/*   navigator     value     download  */
nav( "appVersion", "X11",    "UNIX"    );
nav( "appVersion", "Mac",    "MacOS"   );
nav( "appVersion", "Linux"             );
nav( "userAgent",  "Linux"             );
nav( "platform",   "Linux"             );
nav( "appVersion", "Win",    "Windows" );
nav( "userAgent",  "Windows"           );
nav( "platform",   "Win",    "Windows" );
nav( "oscpu",      "Windows"           );
document.getElementById("download"+osName).className = "knownOS";
</script>
Убедитесь, что правильная ссылка для загрузки легко найти, но не скрывает другие ссылки на ОС. Люди могут все еще хотеть их.
<style>
#downloadUNIX, #downloadMacOS, #downloadLinux, #downloadWindows {
    color:#6D94F2;
    line-height:35px;
    margin:24px 0 24px 0;
    padding:10px;
}
.knownOS {
    background-color:#F7ECAD !important;
    border:2px solid #E8913A;
    color:#133CC4 !important;
    font-weight:bold;
}
</style>
И некоторые html
<ul>
    <li><a id="downloadUNIX"    href="unix Link Here"   >Download Napster-9000 for UNIX</a></li>
    <li><a id="downloadWindows" href="windows Link Here">Download Napster-9000 for Windows</a></li>
    <li><a id="downloadMacOS"   href="mac os link here" >Download Napster-9000 for OS X</a></li>
    <li><a id="downloadLinux"   href="linux Link Here"  >Download Napster-9000 for Linux</a></li>
</ul>
Теперь пользователь может отключить или заблокировать javascripts, если захочет. Ссылки будут по-прежнему присутствовать, а не писать ссылки с Javascript, что требует работы javascript.
Вот скрипка
Ответ 6
Вы можете использовать эту функцию внутри функции готовности документа. Добавьте код внутри функции для вашего мероприятия.
function checkOperatingSystem()
{
    var  userAgent = navigator.userAgent || navigator.vendor || window.opera;
    //Check mobile device is Android
    if (/android/i.test(userAgent)) {
        //Add your Code here
    }
    //Check mobile device is IOS
    if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
        //Add your Code here
    }
    //Check device os is Windows (For Laptop and PC)
    if (navigator.appVersion.indexOf("Win")!=-1)
    {
        //Add your Code here
    }
    //Check device os is MAC (For Laptop and PC)
    if (navigator.appVersion.indexOf("Mac")!=-1)
    {
        //Add your Code here
    }  
}
		Ответ 7
Я думаю, что это может помочь:
navigator.appVersion
 Попробуйте утешить это в своем файле JS. Например:
console.log(navigator.appVersion);
 Вы получите большую часть информации относительно ОС.