Atualizado: 21/06/2025

Este conteúdo é original e não foi gerado por inteligência artificial.

Browser Object Model e o Objeto window em JavaScript

A interação com o navegador web e seus objetos é crucial em JavaScript. Utilizar objetos do navegador permite manipular elementos HTML na página ou interagir com o usuário.

Todos os objetos por meio dos quais o JavaScript interage com o navegador são descritos pelo conceito de Modelo de Objeto do Navegador (Browser Object Model, BOM).

O BOM pode ser visualizado como a seguinte estrutura:

Modelo de Objeto do Navegador em JavaScript

No topo da estrutura, está o objeto principal, o window, que representa o navegador como um todo. Este objeto contém vários outros objetos, incluindo o document, que representa a página web exibida no navegador.

O Objeto window

O objeto window é a janela do navegador web onde as páginas da web são exibidas. Sendo um objeto global, não é necessário prefixar seus métodos e propriedades com o nome window. Por exemplo, o método alert() pode ser chamado como window.alert("Olá, mundo!") ou simplesmente alert("Olá, mundo!").

No entanto, sendo um objeto global, isso impõe algumas restrições. Por exemplo:

var alert = function (message) {
  console.log("Mensagem: ", message);
};
window.alert("Olá, mundo!");

Aqui, uma variável global alert é definida com var. Todas as variáveis globais ou funções declaradas são automaticamente adicionadas ao objeto window. Se uma nova função tiver o mesmo nome que um método existente, como alert(), isso redefinirá o método no objeto window com a nova função.

Além disso, se declararmos qualquer variável global, ela estará acessível como uma propriedade do objeto window:

var message = "hello";
console.log(window.message);

Propriedades do window

As propriedades do objeto window fornecem várias informações sobre a janela do navegador:

  • innerHeight: altura da janela incluindo barras de rolagem horizontais.
  • innerWidth: largura da janela incluindo barras de rolagem verticais.
  • outerHeight: altura externa da janela do navegador incluindo todas as barras de rolagem.
  • outerWidth: largura externa da janela do navegador incluindo todas as barras de rolagem.
  • pageXOffset: alias para window.scrollX.
  • pageYOffset: alias para window.scrollY.
  • screenX: posição da janela do navegador em relação ao lado esquerdo da tela.
  • screenY: posição da janela do navegador em relação ao topo da tela.
  • scrollX: quantidade de pixels que a página da web foi rolada horizontalmente.
  • scrollY: quantidade de pixels que a página da web foi rolada verticalmente.

Componentes do navegador

A janela do navegador geralmente consiste em vários componentes que podem variar dependendo do navegador e das configurações pessoais. Em geral, uma janela típica de navegador inclui:

Painéis e Componentes do Navegador Web em JavaScript

  • Barra de endereços para inserir URLs ou consultas de pesquisa(Address Bar).
  • Barra de status que indica se a página web está carregada ou em processo de carregamento(Status Bar).
  • Barra de menus(Menu Bar).
  • Barra de ferramentas(ToolBar).
  • Uma "barra pessoal" que pode conter, por exemplo, favoritos(Personal Bar).
  • Barras de rolagem que mostram a posição horizontal e vertical(Horizontal/Vertical ScrollBar).

O objeto window tem capacidades limitadas para interagir com esses componentes. Em particular, para verificar a presença desses componentes, o objeto window possui algumas propriedades:

  • locationbar: contém um objeto que indica se a barra de endereços está sendo exibida ou não.
  • menubar: indica se a barra de menu está sendo exibida ou não.
  • personalbar: indica se a barra pessoal (por exemplo, a barra de favoritos) está sendo exibida ou não.
  • scrollbars: indica se as barras de rolagem estão sendo exibidas ou não.
  • statusbar: indica se a barra de status está sendo exibida ou não.
  • toolbar: indica se a barra de ferramentas está sendo exibida ou não.

Por exemplo, vamos verificar se a barra pessoal está sendo exibida:

console.log(window.personalbar); // BarProp {visible: true} ou BarProp {visible: false}

A propriedade retornará um objeto BarProp, no qual a propriedade visible indica se a barra está sendo exibida ou não.

O Objeto screen

O objeto screen fornece informações sobre a tela:

  • availTop: altura dos componentes fixos na parte superior do navegador.
  • availLeft: largura dos componentes fixos na lateral esquerda do navegador.
  • availHeight: altura máxima disponível menos a altura das barras superior e inferior.
  • availWidth: largura máxima disponível menos a largura das barras laterais.
  • colorDepth: profundidade de cor da tela.
  • height: altura da tela em pixels.
  • orientation: objeto que fornece informações sobre a orientação do dispositivo.
  • pixelDepth: profundidade de pixel da tela.
  • width: largura da tela em pixels.

Exemplo de uso:

A propriedade screen em JavaScript

console.log(screen.availTop); // 25
console.log(screen.availLeft); // 0
console.log(screen.availHeight); // 695
console.log(screen.availWidth); // 1280
console.log(screen.width); // 1280
console.log(screen.height); // 800
console.log(screen.pixelDepth); // 24
console.log(screen.colorDepth); // 24
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com