Je cherche un moyen de détecter le système d'exploitation pour une page de téléchargements en utilisant jQuery ou Javascript pour recommander des fichiers spécifiques pour Mac vs Windows. J'espérais le faire sans ajouter un autre plugin à ma page.
Réponses
Trop de publicités?Essayer:
var os = navigator.platform;
Ensuite, gérez la variable os en conséquence pour votre résultat.
Vous pouvez également parcourir chaque objet de l'objet navigator
pour vous familiariser avec les objets:
<script type="text/javascript">
for(var i in navigator){
document.write(i+"="+navigator[i]+'<br>');
}
</script>
Pour plus d'informations, reportez-vous à l'article suivant sur Browser Detection
et sur l'utilisation de l'objet navigator
.
Un simple JavaScript peut être tout ce dont vous avez besoin.
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);
Comme Nick l'a suggéré, vous pouvez également utiliser navigator.platform
.
Autant que je sache, le platform
est la propriété la moins usurpée de l'objet navigateur. Vous pouvez l'utiliser pour obtenir des booléens.
var isMac = navigator.platform.toUpperCase().indexOf('MAC')!==-1;
var isWindows = navigator.platform.toUpperCase().indexOf('WIN')!==-1;
var isLinux = navigator.platform.toUpperCase().indexOf('LINUX')!==-1;
Si vous devez différencier les Mac entre l'ancien PowerPc et le nouveau Intel.
var isMacPpc=navigator.platform==="MacPPC";
var isMacIntel=navigator.platform==="MacIntel";
https://developer.mozilla.org/en/DOM/window.navigator.platform
<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>
Assurez-vous que le bon lien de téléchargement est facile à trouver, mais sans cacher les autres OS liens. Le peuple peut encore le vouloir.
<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>
Et le code 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>
Désormais, l'utilisateur peut désactiver ou bloquer le javascript s'il le veut. Les liens seront toujours là, plutôt que d'écrire les liens avec le Javascript, ce qui nécessite javascript pour fonctionner.
Voici un violon