HTML DOM largura + altura da janela visível
Pergunta
Como faço para obter a altura e largura atuais do espaço disponível no navegador, pois é aberta.
Eu não quero a altura do documento total, apenas o que é visível na tela.
Solução
Você pode dar uma olhada neste blog para ver o método .
e, em suma, em dar esse código
function alertSize() {
var myWidth = 0, myHeight = 0;
if(typeof(window.innerWidth) == 'number') {
// Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
}
else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
// IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
}
else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
// IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
window.alert( 'Width = ' + myWidth );
window.alert( 'Height = ' + myHeight );
}
também de notar que a maioria de quadro js (jquery, ext, protótipo) proporcionaria uma função para fazer isso (IMHO).
em jQuery:
$(window).width();
$(window).height();
Outras dicas
Use a janela objetos propriedade, altura interior / largura, para encontrar as dimensões de apenas o conteúdo na página web. Isto inclui as barras de rolagem. Aqui está uma explicação visual -.> http://goo.gl/L0cBLA
Altura:
window.innerHeight
Largura:
window.innerWidth
<html id="THE_HTML">
<!-- all your stuff... -->
</html>
então:
document.getElementById('THE_HTML').clientHeight;
Testado e trabalhando sob IE8 e FF3.6 ...
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow