¿Cómo puedo obtener windowWidth
, windowHeight
, pageWidth
, pageHeight
, screenWidth
, screenHeight
, pageX
, pageY
, screenX
, screenY
que funcionará en todos los navegadores?
javascript
jquery
layout
cross-browser
tórtola
fuente
fuente
Respuestas:
Puede obtener el tamaño de la ventana o documento con jQuery:
Para el tamaño de pantalla, puede usar el
screen
objeto:fuente
46
) en lugar de una cadena como css ('height') ("46px"
).Esto tiene todo lo que necesita saber: Obtenga el tamaño de ventana / ventana gráfica
pero en resumen:
Violín
Por favor, deja de editar esta respuesta. Ha sido editado 22 veces por diferentes personas para que coincida con su preferencia de formato de código. También se ha señalado que esto no es necesario si solo desea apuntar a los navegadores modernos; de ser así, solo necesita lo siguiente:
fuente
g = document.body
?document.body
.Aquí hay una solución de navegador cruzado con JavaScript puro ( Fuente ):
fuente
body element
devolverá un valorundefined
ya que el dom no está cargado todavía.Una forma que no es jQuery para obtener la dimensión de pantalla disponible.
window.screen.width/height
ya se ha presentado, pero para un diseño web receptivo y por completo, creo que vale la pena mencionar esos atributos:http://www.quirksmode.org/dom/w3c_cssom.html#t10 :
fuente
window.screen.availHeight
parece asumir el modo de pantalla completa para que el modo de pantalla normal fuerce el desplazamiento (probado en Firefox y Chrome).window.screen.height
en su lugar.Pero cuando hablamos de pantallas receptivas y si queremos manejarlo usando jQuery por alguna razón,
da la medida correcta. Incluso elimina el espacio adicional de la barra de desplazamiento y no tenemos que preocuparnos por ajustar ese espacio :)
fuente
window.innerWidth
ywindow.innerHeight
no tomo en cuenta el tamaño de la barra de desplazamiento. Si hay barras de desplazamiento, estos métodos arrojan resultados incorrectos para el tamaño de la ventana en casi todos los navegadores de escritorio. Ver stackoverflow.com/a/31655549/508355También puede obtener el ancho y la altura de la VENTANA, evitando las barras de herramientas del navegador y otras cosas. Es el área real utilizable en la ventana del navegador .
Para hacer esto, use:
window.innerWidth
ywindow.innerHeight
propiedades ( vea el documento en w3schools ).En la mayoría de los casos, será la mejor manera, por ejemplo, de mostrar un diálogo modal flotante perfectamente centrado. Le permite calcular posiciones en la ventana, sin importar qué orientación de resolución o tamaño de ventana esté usando el navegador.
fuente
fuente
Para verificar el alto y el ancho de su página actual cargada de cualquier sitio web usando "consola" o después de hacer clic en "Inspeccionar" .
Paso 1 : haga clic en el botón derecho del mouse y haga clic en 'Inspeccionar' y luego haga clic en 'consola'
Paso 2 : asegúrate de que la pantalla de tu navegador no esté en modo 'maximizar'. Si la pantalla del navegador está en modo 'maximizar', primero debe hacer clic en el botón maximizar (presente en la esquina superior derecha o izquierda) y des-maximizarlo.
Paso 3 : Ahora, escribe lo siguiente después del signo mayor que ('>') es decir
fuente
Si necesita una solución verdaderamente a prueba de balas para el ancho y la altura del documento (el
pageWidth
ypageHeight
en la imagen), puede considerar usar un complemento mío, jQuery.documentSize .Tiene un solo propósito: devolver siempre el tamaño de documento correcto, incluso en situaciones en las que jQuery y otros métodos fallan . A pesar de su nombre, no necesariamente tiene que usar jQuery: está escrito en Javascript vainilla y también funciona sin jQuery .
Uso:
para lo global
document
. Para otros documentos, por ejemplo, en un iframe incrustado al que tenga acceso, pase el documento como parámetro:Actualización: ahora también para dimensiones de ventana
Desde la versión 1.1.0, jQuery.documentSize también maneja las dimensiones de la ventana.
Eso es necesario porque
$( window ).height()
tiene errores en iOS , hasta el punto de ser inútil$( window ).width()
y no$( window ).height()
son confiables en dispositivos móviles porque no manejan los efectos del zoom móvil.jQuery.documentSize proporciona
$.windowWidth()
y$.windowHeight()
, que resuelven estos problemas. Para obtener más información, consulte la documentación .fuente
Escribí un pequeño marcador de JavaScript que puede usar para mostrar el tamaño. Puede agregarlo fácilmente a su navegador y cada vez que haga clic en él verá el tamaño en la esquina derecha de la ventana de su navegador.
Aquí encontrará información sobre cómo usar un bookmarklet https://en.wikipedia.org/wiki/Bookmarklet
Bookmarklet
Código original
El código original está en café:
Básicamente, el código está anteponiendo un pequeño div que se actualiza cuando cambia el tamaño de su ventana.
fuente
En algunos casos, el diseño receptivo
$(document).height()
puede devolver datos incorrectos que solo muestran la altura del puerto de visualización. Por ejemplo, cuando un envoltorio div # tiene una altura: 100%, ese envoltorio # puede estirarse mediante un bloque dentro de él. Pero su altura seguirá siendo como la altura de la ventana gráfica. En tal situación, podría usarEso representa el tamaño real de la envoltura.
fuente
Guía completa relacionada con los tamaños de pantalla
JavaScript
Para la altura:
Nota: Cuando la ventana se maximiza, esto será igual a screen.availHeight
Para ancho:
Jquery
Para la altura:
Para ancho:
Referencia: https://help.optimizely.com/Build_Campaigns_and_Experiments/Use_screen_measurements_to_design_for_responsive_breakpoints
fuente
Desarrollé una biblioteca para conocer el tamaño real de la ventana gráfica para navegadores de escritorio y móviles, porque los tamaños de ventana gráfica son inconsistentes en todos los dispositivos y no pueden confiar en todas las respuestas de esa publicación (de acuerdo con toda la investigación que hice sobre esto): https: // github .com / pyrsmk / W
fuente
A veces necesita ver los cambios de ancho / alto mientras cambia el tamaño de la ventana y el contenido interno.
Para eso, he escrito un pequeño script que agrega un cuadro de registro que monitorea dinámicamente todos los cambios de tamaño y actualizaciones casi inmediatas.
Agrega un HTML válido con posición fija y alto índice z, pero es lo suficientemente pequeño, por lo que puede :
Probado en: Chrome 40, IE11, pero también es muy posible trabajar en otros navegadores / más antiguos ... :)
EDITAR: ahora los estilos se aplican solo al elemento de la tabla del registrador, no a todas las tablas, también esta es una solución libre de jQuery :)
fuente
Con la introducción de
globalThis
en ES2020 puede utilizar las propiedades similares.Para tamaño de pantalla:
Para el tamaño de la ventana
Para compensación:
...& pronto.
fuente
Puede usar el objeto Screen para obtener esto.
El siguiente es un ejemplo de lo que devolvería:
Para obtener su
screenWidth
variable, simplemente usescreen.width
, igualscreenHeight
que, solo usaríascreen.height
.Para obtener el ancho y la altura de su ventana, sería
screen.availWidth
oscreen.availHeight
respectivamente.Para las variables
pageX
ypageY
, usewindow.screenX or Y
. Tenga en cuenta que esto es de la PANTALLA MUY IZQUIERDA / SUPERIOR DE SU IZQUIERDA / SUPERIOR . Entonces, si tiene dos pantallas de ancho,1920
entonces una ventana de2420
500 px desde la izquierda de la pantalla derecha tendría un valor X de (1920 + 500).screen.width/height
, sin embargo, muestra el ancho o alto de la pantalla ACTUAL.Para obtener el ancho y alto de su página, use jQuery's
$(window).height()
o$(window).width()
.Nuevamente usando jQuery, use
$("html").offset().top
y$("html").offset().left
para supageX
ypageY
valores.fuente
¡Aquí está mi solución!
fuente
Así es como logré obtener el ancho de pantalla en React JS Project:
Si el ancho es igual a 1680, devuelva 570; de lo contrario, devuelva 200
Screen.availWidth
fuente