Foros del Web » Programando para Internet » Javascript »

Como determinar el ancho del browser

Estas en el tema de Como determinar el ancho del browser en el foro de Javascript en Foros del Web. Me voy a volver loca, estoy tratando de conocer las dimensiones de la pantalla para centrar unos elementos pero a sido imposible. Se supone que ...
  #1 (permalink)  
Antiguo 15/04/2013, 17:57
 
Fecha de Ingreso: julio-2012
Ubicación: Colombia
Mensajes: 53
Antigüedad: 12 años, 3 meses
Puntos: 0
Como determinar el ancho del browser

Me voy a volver loca, estoy tratando de conocer las dimensiones de la pantalla para centrar unos elementos pero a sido imposible.

Se supone que window.innerWidth es para FF y document.body.clientWidth para IE

Estoy usando este código pero no me funciona siempre, con unas versiones de browser me funciona pero con otras no.

Código HTML:
Ver original
  1. if (window.innerWidth){
  2.    ventana.style.marginLeft = (window.innerWidth) + "px";
  3. }else{
  4.    ventana.style.marginLeft = (document.body.clientWidth) + "px";
  5. }
Que función debo usar para Chrome?

Me dan una manito por favor?

Gracias
  #2 (permalink)  
Antiguo 15/04/2013, 19:20
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Como determinar el ancho del browser

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Html5</title>
  5.  
  6. <script type="text/javascript">
  7. //<![CDATA[
  8. function medidas(){
  9. var winW,winH;
  10. if (document.body && document.body.offsetWidth) {
  11. winW = document.body.offsetWidth;
  12. winH = document.body.offsetHeight;
  13. }
  14. if (document.compatMode=='CSS1Compat' &&
  15.    document.documentElement &&
  16.    document.documentElement.offsetWidth ) {
  17. winW = document.documentElement.offsetWidth;
  18. winH = document.documentElement.offsetHeight;
  19. }
  20. if (window.innerWidth && window.innerHeight) {
  21. winW = window.innerWidth;
  22. winH = window.innerHeight;
  23. }
  24.  
  25.  
  26. document.getElementById('ancho').innerHTML = winW;
  27. document.getElementById('alto').innerHTML = winH;
  28. }
  29. //]]>
  30.  
  31. </head>
  32. <body onload="medidas();" onresize="medidas();">
  33. <div>Ancho: <span id="ancho"></span></div>
  34. <div>Alto: <span id="alto"></span></div>
  35. </body>
  36. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 16/04/2013, 19:25
 
Fecha de Ingreso: julio-2012
Ubicación: Colombia
Mensajes: 53
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Como determinar el ancho del browser

emprear, lo que yo tenia era algo muy basico, lo tuyo es muy elaborado, lo estuve probando en varios browser y funciona muy bien. Gracias

Una duda, tu colocaste una linea (<title>Html5</title>) esta hecho en HTML5?

Nuevamente gracias
  #4 (permalink)  
Antiguo 16/04/2013, 19:37
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Como determinar el ancho del browser

Cita:
Iniciado por helena71 Ver Mensaje
emprear, lo que yo tenia era algo muy basico, lo tuyo es muy elaborado, lo estuve probando en varios browser y funciona muy bien. Gracias

Una duda, tu colocaste una linea (<title>Html5</title>) esta hecho en HTML5?

Nuevamente gracias
Si, pero de hecho solo tiene el Doctype de html5, no hay ningún elemento específico de html5, podría ser html, ó xhtml, pero no modificaría para nada el uso e implementación del javascript.
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: ancho, determinar, funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:24.