JavaScript Window - webbläsarmodellen

Browser Object Model (Browser Object Model (BOM) tillåter JavaScript att kommunicera med webbläsaren.

Browser Object Model (BOM)

Det finns ingen officiell standard för Browser Object Model (BOM).

Modernta webbläsare har (nästan) implementerat samma metoder och egenskaper för JavaScript-interaktion, och därför nämns de ofta som metoder och egenskaper för BOM.

Window-objektet

Alla webbläsare stöder window Objekt. Det representerar webbläsarfönstret.

Alla globala JavaScript-objekt, funktioner och variabler blir automatiskt medlemmar av window-objektet.

Globala variabler är egenskaper för window-objektet.

Globala funktioner är metoder för window-objektet.

Och (HTML DOM:s) document-objektet är en egenskap av window-objektet:

window.document.getElementById("header");

Ekvivalent med:

document.getElementById("header");

Fönsterstorlek

Dessa två egenskaper kan användas för att bestämma storleken på webbläsarfönstret.

Dessa två egenskaper returnerar storlek i pixlar:

  • window.innerHeight - Webbläsarfönstrets inre höjd (i pixlar)
  • window.innerWidth - Webbläsarfönstrets inre bredd (i pixlar)

Webbläsarfönstret (webbläsarvisuellt fönster) inkluderar inte verktygsfält och rullgardinslistor.

För Internet Explorer 8, 7, 6, 5:

  • document.documentElement.clientHeight
  • document.documentElement.clientWidth

eller

  • document.body.clientHeight
  • document.body.clientWidth

En praktisk JavaScript-lösning (inklusive alla webbläsare):

Exempel

var w = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
var h = window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight; 

Prova själv

Detta exempel visar höjden och bredden på webbläsarfönstret (exklusive verktygsfält och rullgardiner):

Andra fönstermetoder

Några andra metoder:

  • window.open() - öppna ett nytt fönster
  • window.close() - stänga det aktuella fönstret
  • window.moveTo() - flytta det aktuella fönstret
  • window.resizeTo() - justera det aktuella fönstret