: Retur til startside  : Retur til javaScript-startside   

SKÆRM -   OBJEKTER      

 : window
 : screen                  
 : navigator
 : navigator.plugins
 : navigator.mimeTypes
: Hvilken browser bruger jeg   
 

Objektet "screen"

Det handler om de ting på skærmen, der ikke ændres, selvom vinduet ændres: Højde og bredde (fraregnet hvad styresystemet optager) i pixels, og antal farver i bits (f.eks. 16 bits = 216 = 65536).
Objektet ejer ingen metoder eller event-handlere, kun variable, og de er alle ReadOnly.
variabelscreen.variabel


Udelades screen opstår der fejl, endskønt man skulle synes at det da kun kan være "denne" screen.
I onClik til denne knap står:
onClick="alert('availHeight='+availHeight)"

og man får derfor en fejlmelding:
 availHeight  
 availLeft  
 availTop  
 availWidth  
 colorDepth  
 height  
 pixelDepth 
 width
  
  
  
  
  
  
  
 
 
Når man laver midlertidige vinduer har man tit brug for at vide skærm-bredde og -højde, og med alle andre browsere end Opera er det hele skærmbredden (window.innerWidth og window.innerHeight), så for at finde ud af hvor meget plads man har kan man definere 2 variabler, her kaldet bred og hoej, hvor:
var Opera = (navigator.appName.indexOf("Opera") >= 0);   //  (se nedenfor)
var bred = (Opera) ? window.innerWidth  : screen.width;
var hoej = (Opera) ? window.innerHeight : screen.height;
Nye tider (1.april 2012):
Da jeg i dag prøvede at kigge på denne side, og siden med object windows
, med min favoritbrowser Firefox, så jeg til min glæde og overraskelse at der nu er forskel på window.innerWidth, window.outerWidth og screen.availWidth ... og tilsvarende for højden. Jeg må se at få lavet en test med alle mine mange forskellige browsere!
Og da jeg så prøvede med Internet Explorer virkede det ikke, ak! Her en løsningsmodel, metoden er for øvrigt generelt anvendelig når man har noget der bruger forskellige metoder/variable med forskellige browsere.
To forskellige metoder (funktioner), der virker lige godt:
function bredde1(){
   var facit = (window.innerWidth) ? window.innerWidth : screen.width;
   return facit;
}
           function bredde2(){
   return (window.innerWidth)||screen.width;
}
Testknapper:         

    navigator

Objektet fortæller, hvilket styresystem og browser der bruges.
Egenskab ell. metode
navigator.appCodeName=
navigator.appName=
navigator.appVersion=
navigator.userAgent=
navigator.language=
navigator.platform=
navigator.taintEnabled()=
navigator.javaEnabled() =
navigator.plugins.length=
navigator.mimeTypes.length=
 
 
appCodeName= Mozilla (browser's kælenavn?
              så har Netscape og I.Exp. samme kælenavn!
)
 
userAgent= appCodeName med versionsnummer
 
language= en (engelsk) mm i Netscape, men undefined med Internet Explorer
plugins og mimeTypes er to Array's af objekter, som igen har nogle egenskaber, som vist i tabellerne nedenfor. Der kan være stor forskel på antallet i Netscape og Internet Explorer (ofte 0 i I.E.)
 
FIDUS: Ofte har man brug for at vide om denne eller hin browser kender et bestemt objekt, f.eks objektet document.layers der forstås af Netscape og ikke andre browsere (?).
Spørg med   if (objektnavn) og (objektnavn) udregnes til true hvis browseren kender objektet.
test :  if (document.layers) udregnes af din browser til
Og her tjekker jeg metode window.focus
test :  if ( window.focus) udregnes af din browser til
test :  if (window.focus()) udregnes af din browser til

 Hvilken browser bruger jeg - eller rettere bruger den der læser min hjemmeside

Det er desværre ofte nødvendigt at skrive browser-specifik kode, fordi siden ser forskellig ud med forskellige browsere. Navigator-egenskaberne appName og userAgent er brugbare, men vær opmærksom på at hele familien bestående af Netscape, Chrome og Firefox og Safari sætter appName="Netscape".
Browsernavigator.appNamenavigator.userAgent
I.Explorer 8Microsoft Internet Explorer Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6)
Firefox 3.5.7NetscapeMozilla/5.0 (Windows; U; Windows NT 5.1; da; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7
Chrome 5.0Netscape Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.78 Safari/532.5
Netscape 4.7NetscapeMozilla/4.7 [en] (WinNT; I)
Opera 9.80OperaOpera/9.80 (Windows NT 5.1; U; da)
SafariNetscapeMozilla/5.0 (Windows; U; Windows NT 5.1; da-DK) AppleWebKit/531.22.7 (KHTML, like Gecko) Version/4.0.5 Safari/531.22.7
<script>
var IExplorer = (navigator.appName.indexOf("Internet Explorer")>=0);
var Firefox = (navigator.userAgent.indexOf("Firefox")>=0);
var Chrome = (navigator.userAgent.indexOf("Chrome")>=0);
var Safari = (navigator.userAgent.indexOf("Safari")>=0);
var Netscape = ((navigator.appName.indexOf("Netscape")>=0)&&(!Firefox)&&(!Chrome)&&(!Safari));
var Opera = (navigator.appName.indexOf("Opera")>=0);
</script>
med din browser, sætter dette script disse 6 variable til :
 
pølse
Og hvilken Windows version? Det véd jeg ikke rigtig hvordan man kan finde ud af, her et indledende forsøg:
<SCRIPT>var Win32=(navigator.platform=="Win32");
var andenvin=((!Win32)&&((pos("Win", navigator.platform)==0)));
if (Win32) document.write("Styresystem Windows 32 bit");
else if (andenvin) document.write("Styresystem Windows, men ikke 32 bit");
else document.write("Styresystem ikke Windows");
</SCRIPT>


    plugins  ikke Internet Explorer


Syntax:  navigator.plugins[plugin-nr].egenskab  

    mimeTypes  ikke Internet Explorer


Syntax:  navigator.mimeTypes[mimeType-nr].egenskab