Navigator
=========

L'interface **`Navigator`** représente l'état et l'identité de l'agent utilisateur courant. Elle permet aux scripts de consulter ces informations et de s'enregistrer en vue de certaines activités.

Un objet instanciant `Navigator` peut être récupéré grâce à la propriété en lecture seule `window.navigator`.

Propriétés
----------

*Cette interface n'hérite d'aucune propriété mais implémente celles définies par `NavigatorID` (en-US), `NavigatorLanguage`, `NavigatorOnLine`, `NavigatorContentUtils`, `NavigatorStorage`, `NavigatorStorageUtils`, `NavigatorConcurrentHardware` (en-US), `NavigatorPlugins` (en-US) et `NavigatorUserMedia`.*

### Propriétés standard

`Navigator.connection` Lecture seule  
Expérimental

Fournit un objet `NetworkInformation` (en-US) contenant des informations quant à la connection réseau de l'appareil.

`Navigator.cookieEnabled` Lecture seule 

Renvoie un booléen indiquant si l'ajout d'un cookie sera pris en compte.

`Navigator.credentials` Lecture seule 

Renvoie l'interface `CredentialsContainer` qui expose des méthodes pour la demande d'informations d'authentification et qui notifie l'agent utilisateur lors d'évènements particuliers tels que les connexions ou déconnexions.

`Navigator.deviceMemory` (en-US) Lecture seule  
Expérimental

Renvoie la quantité de mémoire de l'appareil, exprimée en gigaoctets. Cette valeur est une approximation calculée en prenant la plus proche puissance de 2 puis en divisant le résultat par 1024.

`Navigator.doNotTrack` Lecture seule  
Expérimental

Indique le choix de l'utilisateur fournit pour la préférence *do-not-track*. Lorsque cette valeur vaut "1", l'application web ne devrait pas pister l'utilisateur.

`Navigator.geolocation` Lecture seule 

Renvoie un objet `Geolocation` permettant l'accès à l'emplacement géographique de l'appareil.

`NavigatorConcurrentHardware.hardwareConcurrency` Lecture seule 

Renvoie le nombre de cœurs logiques du processeur.

`NavigatorPlugins.javaEnabled` (en-US) Lecture seule 

Renvoie le booléen `false`.

`Navigator.keyboard` Lecture seule  
Expérimental

Renvoie un objet `Keyboard` (en-US) qui permet d'accéder à des fonctions pour récupérer des informations sur la disposition du clavier et la capture de touches du clavier physique.

`NavigatorLanguage.language` (en-US) Lecture seule 

Renvoie une chaîne de caractères `DOMString` indiquant la langue préférée de l'utilisateur (qui correspond généralement à la langue utilisée pour l'interface utilisateur du navigateur). La valeur `null` est renvoyée si cette information est inconnue.

`NavigatorLanguage.languages` (en-US) Lecture seule  
Expérimental

Renvoie un tableau de chaînes `DOMString` qui représente les langues connues de l'utilisateur, triées par ordre de préférence.

`Navigator.locks` (en-US) Lecture seule  
Expérimental

Renvoie un objet `LockManager` (en-US) qui fournit des méthodes pour demander un nouvel objet `Lock` (en-US) ou s'enquérir d'un objet `Lock` (en-US) existant.

`Navigator.maxTouchPoints` (en-US) Lecture seule 

Renvoie le nombre maximum de points de toucher simultanés possible pour l'appareil courant.

`Navigator.mediaCapabilities` (en-US) Lecture seule  
Expérimental

Renvoie un objet `MediaCapabilities` (en-US) qui peut exposer des informations sur le décodage/l'encodage d'un format donné.

`Navigator.mediaDevices` (en-US) Lecture seule 

Renvoie une référence vers un objet `MediaDevices` permettant d'obtenir des informations à propos des appareils médias disponibles (`MediaDevices.enumerateDevices()`), de déterminer les propriétés et contraintes prises en charge pour les médias sur cet agent utilisateur et cet ordinateur (`MediaDevices.getSupportedConstraints()`), de demander l'accès au média via `MediaDevices.getUserMedia()`.

`Navigator.mediaSession` (en-US) Lecture seule  
Expérimental

Renvoie un objet `MediaSession` (en-US) pouvant être utilisé afin de fournir des métadonnées utilisées par le navigateur afin de présenter des informations sur le média en cours de lecture (par exemple pour les interfaces utilisateurs générales de contrôle des médias).

`NavigatorPlugins.mimeTypes` (en-US) Lecture seule 
Obsolète

Renvoie une liste `MimeTypeArray` (en-US) des types MIME pris en charge par le navigateur.

`NavigatorOnLine.onLine` (en-US) Lecture seule 

Renvoie un booléen indiquant si le navigateur est en ligne.

`Navigator.permissions` (en-US) Lecture seule  
Expérimental

Renvoie un objet `Permissions` (en-US) pouvant être utilisé pour demander ou mettre à jour les informations de permissions pour les API couvertes par l'API Permissions.

`NavigatorPlugins.plugins` (en-US) Lecture seule 
Obsolète

Renvoie une liste `PluginArray` (en-US) indiquant les plugins installés sur le navigateur.

`Navigator.presentation` (en-US) Lecture seule  
Expérimental

Renvoie une référence à l'API `Presentation` (en-US) .

`Navigator.serial` (en-US) Lecture seule 

Renvoie un objet `Serial` (en-US) représentant le point d'entrée vers l'API `Web Serial` qui permet de contrôler les ports série.

`Navigator.serviceWorker` Lecture seule 

Renvoie un objet `ServiceWorkerContainer` qui permet d'enregistrer, de supprimer, de mettre à jour ou de communiquer avec des objets `ServiceWorker` pour le document associé.

`NavigatorStorage.storage` Lecture seule 

Renvoie le singleton `StorageManager` (en-US) utilisé pour la persistence des permissions et la gestion du stockage disponible site par site/application par application.

`NavigatorID.userAgent` (en-US) Lecture seule 

Renvoie la chaîne de caractères de l'agent utilisateur pour le navigateur courant.

`Navigator.vendor` (en-US) Lecture seule 

Renvoie le nom de l'éditeur du navigateur courant (par exemple "Netscape6").

`Navigator.webdriver` (en-US) Lecture seule  
Expérimental

Indique si l'agent utilisateur est contrôlé par un outil automatisé.

`Navigator.xr` (en-US) Lecture seule  
Expérimental

Renvoie un objet `XRSystem` (en-US) qui représente le point d'entrée sur l'API WebXR.

### Propriétés non-standard

`Navigator.buildID` (en-US) 
Non-standard

Renvoie l'identifiant de build du navigateur. Les navigateurs renvoient un horodatage fixe pour éviter le pistage (par exemple `20181001000000` à partir de Firefox 64).

`Navigator.contacts` (en-US) Lecture seule  
Non-standard

Renvoie une interface `ContactsManager` (en-US) qui permet à l'utilisateur de sélectionner certaines entrées dans la liste des contacts afin de partager certains détails limités avec une application web.

`Navigator.securitypolicy` 
Non-standard

Renvoie une chaîne de caractères vide. Netscape 4.7x renvoyait "US & CA domestic policy" ou "Export policy".

`Navigator.standalone` 
Non-standard

Renvoie un booléen indiquant si le navigateur s'exécute en mode *standalone*. Uniquement disponible sur Safari pour iOS.

`Navigator.wakeLock` (en-US) Lecture seule  
Non-standard

Renvoie une interface `WakeLock` (en-US) pouvant être utilisée afin de demander un verrou sur l'écran afin de l'empêcher d'entrer en veille, de s'estomper ou de s'éteindre.

### Propriétés dépréciées

`NavigatorID.appCodeName` (en-US) Lecture seule  
Obsolète

Renvoie le nom de code interne du navigateur. Ne vous attendez pas à ce que cette propriété renvoie une valeur correcte.

`NavigatorID.appName` (en-US) Lecture seule  
Obsolète

Renvoie une chaîne `DOMString` contenant le nom officiel du navigateur. Ne vous attendez pas à ce que cette propriété renvoie une valeur correcte.

`NavigatorID.appVersion` (en-US) Lecture seule  
Obsolète

Renvoie la version du navigateur sous la forme d'une chaîne `DOMString`. Ne vous attendez pas à ce que cette propriété renvoie une valeur correcte.

`Navigator.activeVRDisplays` (en-US) Lecture seule  
Obsolète

Renvoie un tableau contenant chaque objet `VRDisplay` (en-US) actuellement utilisé pour afficher (autrement dit, pour chaque objet où `VRDisplay.ispresenting` vaut `true`).

`Navigator.battery` Lecture seule  
Obsolète

Renvoie un objet `BatteryManager` permettant d'avoir des informations sur le statut de charge de la batterie.

`Navigator.oscpu` (en-US) Lecture seule  
Obsolète

Renvoie une chaîne de caractères qui représente le système d'exploitation courant.

`NavigatorID.platform` (en-US) Lecture seule  
Obsolète

Renvoie une chaîne de caractères représentant la plateforme du navigateur. N'utilisez pas cette fonction afin d'obtenir une valeur significative.

`NavigatorID.product` (en-US) Lecture seule  
Obsolète

Renvoie toujours `'Gecko'` quel que soit le navigateur. Cette propriété est uniquement conservée à des fins de compatibilité.

`Navigator.productSub` (en-US) Lecture seule  
Obsolète

Renvoie le numéro de *build* précis du navigateur (par exemple "20060909").

`Navigator.vendorSub` (en-US) Lecture seule  
Obsolète

Renvoie le numéro de version de l'éditeur (e.g. "6.1").

Méthodes
--------

*Cette interface n'hérite d'aucune méthode mais implémente celles définies par `NavigatorID` (en-US), `NavigatorContentUtils`, `NavigatorUserMedia`, and `NavigatorStorageUtils`.*

`Navigator.canShare()`

Renvoie `true` si un appel à `Navigator.share()` réussirait.

`Navigator.registerProtocolHandler()`

Permet aux sites web de s'enregistrer afin de gérer un protocole donné.

`Navigator.requestMediaKeySystemAccess()`

Renvoie une promesse (`Promise`) qui se résout en un objet `MediaKeySystemAccess`.

`Navigator.sendBeacon()`

Transfère, de façon asynchrone, une petite quantité de donnée avec HTTP depuis l'agent utilisateur vers un serveur web.

`Navigator.share()`

Invoque la fonctionnalité native de partage pour la plateforme courant.

`Navigator.vibrate()`

Permet de faire vibrer l'appareil si celui-ci prend en charge cette fonctionnalité. Aucun effet n'est produit s'il n'y a pas de compatibilité.

### Méthodes dépréciées

`Navigator.getVRDisplays()` 
Obsolète

Renvoie une promesse qui se résout en un tableau d'objets `VRDisplay` (en-US) représentant chacun un appareil de réalité virtuelle connecté à l'ordinateur.

`Navigator.getUserMedia()` 
Obsolète

Après avoir demandé la permission à l'utilisateur, renvoie le flux audio ou vidéo associé à une caméra ou à un micro sur l'ordinateur local.

`Navigator.registerContentHandler()` 
Obsolète

Permet aux sites web de s'enregistrer pour gérer certains types MIME.

`NavigatorID.taintEnabled()` 
Obsolète

Renvoie `false`. Les fonctions JavaScript jouant sur cet aspect ont été retirées avec JavaScript 1.2.

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # the-navigator-object |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.