Con esta función podés obtener las dimensiones de la ventana en todo momento:
Código PHP:
<script>
function getWindowData(){
var widthViewport,heightViewport,xScroll,yScroll,widthTotal,heightTotal;
if (typeof window.innerWidth != 'undefined'){
widthViewport= window.innerWidth-17;
heightViewport= window.innerHeight-17;
}else if(typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth !='undefined' && document.documentElement.clientWidth != 0){
widthViewport=document.documentElement.clientWidth;
heightViewport=document.documentElement.clientHeight;
}else{
widthViewport= document.getElementsByTagName('body')[0].clientWidth;
heightViewport=document.getElementsByTagName('body')[0].clientHeight;
}
xScroll=self.pageXOffset || (document.documentElement.scrollLeft+document.body.scrollLeft);
yScroll=self.pageYOffset || (document.documentElement.scrollTop+document.body.scrollTop);
widthTotal=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth,widthViewport);
heightTotal=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,heightViewport);
return [widthViewport,heightViewport,xScroll,yScroll,widthTotal,heightTotal];
}
</script>
Ejemplo:
Código PHP:
var m=getWindowData();
alert(m[0]);//este es el ancho de la porción visible de la ventana sin contar lo que queda oculto por el scroll, si es que existe (o sea, es el ancho del viewport).
(Los otros datos son m[1], m[2], etc. y los nombres son bastante descriptivos, fijate en el return. )
En Flash, el objeto Stage tiene las ptropiedades width y height, con las que podés obtener las medidas del escenario; trace (Stage.width);//por ejemplo.