🌐 Browser Object Model (BOM)

Window, Location, Navigator e History

Progresso do Tópico

Completar os exercícios para avançar no curso

🌐 3. BOM – Browser Object Model

Visão Geral: O BOM (Browser Object Model) é a interface que permite ao JavaScript interagir com o navegador em si. Ao contrário do DOM (que lida com o conteúdo da página), o BOM gerencia janelas, abas, URLs, histórico e propriedades do navegador.

3.1 Objeto window

O objeto window é o objeto global no contexto do navegador:

console.log(window.innerWidth); // largura da janela em pixels
Dica: Todas as variáveis e funções globais viram propriedades do objeto window.
🧪 Demonstração: Objeto Window
// Informações da janela aparecerão aqui

3.2 Objeto location

Manipula e acessa a URL da página atual:

console.log(window.location.href); // retorna a URL completa window.location.reload(); // recarrega a página
Exemplo prático:
if (location.hostname === "localhost") { alert("Ambiente local detectado!"); }
🧪 Demonstração: Objeto Location
// Informações da localização aparecerão aqui

3.3 Objeto navigator

Oferece informações sobre o navegador e o sistema:

console.log(navigator.userAgent); console.log(navigator.language);
Pode ser usado para detectar o tipo de navegador, versão, idioma, plataforma etc.

🔍 navigator.userAgent

String identificando o navegador e sistema operacional

🌍 navigator.language

Idioma preferido do usuário

📱 navigator.platform

Plataforma do sistema operacional

🔌 navigator.onLine

Status da conexão com a internet

🧪 Demonstração: Objeto Navigator

3.4 Objeto screen

Retorna informações sobre a resolução da tela:

console.log(screen.width); console.log(screen.availHeight);
Atenção: Esses dados referem-se à tela do dispositivo, não à janela do navegador.

3.5 Objeto history

Permite navegar pelo histórico de navegação da aba:

history.back(); // vai para a página anterior history.forward(); // vai para a próxima página (se houver)
history.length mostra o número de páginas visitadas no histórico da aba.
🧪 Demonstração: Histórico e Tela
// Informações do histórico aparecerão aqui

3.6 Métodos e alertas do window (.extra)

O objeto window também fornece métodos para interação direta com o usuário:

📢 Alertas, confirmação e entrada:

alert("Mensagem simples ao usuário"); const resposta = confirm("Deseja continuar?"); const nome = prompt("Qual o seu nome?");

⏰ Temporizadores:

setTimeout(() => { console.log("Executado após 2 segundos"); }, 2000); let intervalo = setInterval(() => { console.log("Repetindo a cada segundo"); }, 1000); clearInterval(intervalo); // cancela o intervalo
Evite abusar de alert, confirm e prompt — eles bloqueiam a interface.
🧪 Demonstração: Alertas e Temporizadores
// Resultados dos alertas e timers aparecerão aqui

🧠 Resumo

📋 Perguntas de Revisão

1. Qual a diferença entre window e document?

window é o objeto global do navegador, enquanto document representa o conteúdo HTML da página.

2. Como acessar a URL atual com JavaScript?

Usando window.location.href ou simplesmente location.href.

3. Para que serve o navigator.userAgent?

Identifica o navegador, versão e sistema operacional do usuário.

4. Como funcionam setTimeout e setInterval?

setTimeout executa uma função após um tempo. setInterval executa repetidamente em intervalos.

5. O que history.back() faz?

Navega para a página anterior no histórico do navegador.