Newsgroup: it.comp.lang.javascript
Titolo: Dimensione schermo

Ciao, mi servirebbe un breve script
che visualizzi in un messaggio
le dimensioni dello schermo
e le dimensioni della finestra.
Es: "la vostra risoluzione è 1024x768
la vostra finestra è 700x500"
Volendo aprire questo script in una popup,
è possibile fare in modo che le dimensioni
della finestra che vengono indicate
siano quelle della finestra madre
e non della popup?
Se non si può fare pazienza,
mi posso accontentare anche della risoluzione dello schermo! :o)
Grazie,
e Buon Natale a tutti!!!
MaRoK

crea un file html con questo codice:
<html>
<head>
<title>info varie</title>
<!-- se vuoi togli gli stili, non sono indispensabili -->
<style type="text/css">
<!--
body{
	background-color:	#efefef;
	color:				#666666;
	font-family:		Verdana, Arial, Helvetica, sans-serif;
	font-size:			12px;
	padding:			10px;
}
a	{
	text-decoration:	none;
	font-weight:		bold;
	color:				#990000;
}
a:hover{
	color:				#000000;
	text-decoration:	underline;
}
-->
</style>
<script type="text/JavaScript" language="JavaScript">
<!--
function info(destinazione){
  var aCapo;
  (destinazione == 'alert')?aCapo='\n':aCapo='<br>';
  var scrW = screen.availWidth;
  var scrH = screen. availHeight;
  if(navigator.appName=='Netscape'){
    var win_i_W = window.innerWidth;
    var win_i_H = window.innerHeight;
  }else{
    var win_i_W = window.document.body.clientWidth;
    var win_i_H = window.document.body.clientHeight;
  }
  var rep =  'la vostra risoluzione è '+scrW+' x '+scrH+aCapo;
  rep += 'l\'area interna della vostra finestra è '+win_i_W+' x '+win_i_H;
  return rep;
}
function infoPopUp(msg){
  var featLoc = 'about:blank';
  var featTarg = 'winInfo';
  var featPosDim = 'top=10, left=10, width=350, height=50, scrollbars=yes, resizable=yes';
  var  w = window.open(featLoc,featTarg,featPosDim);
  with(w.document){
    open();
    write(msg);
    close()
  }
}
//-->
</script>
</head>
<body>
  Visualizza le info in una nuova finestra cliccando
  <a href="javascript:void(0)" onClick="infoPopUp(info('window'))">qui</a>
  <br>
  Visualizza le info in un alert cliccando
  <a href="javascript:void(0)" onClick="alert(info('alert'))">qui</a>
</body>
</html>
prova quindi a ridimensionare le finestre del browser in questa maniera:
nella location bar digita:
per NN6.x e IE5.x o 6.x
javascript:top.resizeTo(320,320);
per NN4.x
javascript:top.outerWidth=320;top.outerHeight=320;
poi apri il file che avrai creato con il codice che ti ho inviato e prova a cliccare sui due links.
Dovrebbe funzionare :)
Testato su
IE6.0, NN4.78, NN6.2, Mozilla0.9.4
per Win98.
Ciao, Daniele.

>crea un file html con questo codice:
Grazie, sei un grande!!!!!!!!!!!!!
C'è solo un particolare...
mi dice che ho 1024 x 735
al posto di 1024x768
A te viene esatto?
Ho provato anche ad altre risoluzioni
(ad es. 960x720 viene visto come 960 x 687)
ho sempre 33  bytes in meno.
(testato su ie4.0, opera5.0 e netscape6.2.1)
Se capita anche a te,
basta modificare il programma sommando 33 bytes!
Il problema è... se a te viene esatto e a me no!
Da che può dipendere?:o)
(ho provato anche a togliere la barra di windows!)
MaRoK

>ho sempre 33  bytes in meno.
ehm... pixels! :o)
MaRoK "lapsus ergo sum"