Window.navigator

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

A propriedade somente leitura Window.navigator retorna uma referência para o objeto Navigator, que pode ser consultada para obter informações sobre a aplicação executando o script.

Sintaxe

navigatorObject = window.navigator

Exemplos

Exemplo #1: Detecta o navegador e retorna uma string

js
var sBrowser,
  sUsrAg = navigator.userAgent;

if (sUsrAg.indexOf("Chrome") > -1) {
  sBrowser = "Google Chrome";
} else if (sUsrAg.indexOf("Safari") > -1) {
  sBrowser = "Apple Safari";
} else if (sUsrAg.indexOf("Opera") > -1) {
  sBrowser = "Opera";
} else if (sUsrAg.indexOf("Firefox") > -1) {
  sBrowser = "Mozilla Firefox";
} else if (sUsrAg.indexOf("MSIE") > -1) {
  sBrowser = "Microsoft Internet Explorer";
}

alert("Você está utilizando: " + sBrowser);

Exemplo #2: Detecta o navegador e retorna um índice

js
function getBrowserId() {
  var aKeys = ["MSIE", "Firefox", "Safari", "Chrome", "Opera"],
    sUsrAg = navigator.userAgent,
    nIdx = aKeys.length - 1;

  for (nIdx; nIdx > -1 && sUsrAg.indexOf(aKeys[nIdx]) === -1; nIdx--);

  return nIdx;
}

console.log(getBrowserId());

Especificações

Specification
HTML Standard
# dom-navigator

Compatibilidade com navegadores

BCD tables only load in the browser