Obtenir la taille de l'écran, une page web et de la fenêtre du navigateur
Comment puis-je obtenir windowWidth
, windowHeight
, pageWidth
, pageHeight
, screenWidth
, screenHeight
, pageX
, pageY
, screenX
, screenY
ce qui fonctionne dans tous les principaux navigateurs?
- Nice pic. Toutes les questions doivent et les réponses devraient être comme ça.
- pageHeight(sur une photo) u peut obtenir avec: document.corps.scrollHeight
- voir https://developer.mozilla.org/en-US/docs/Web/API/Window.screen et http://www.quirksmode.org/dom/w3c_cssom.html#screenview
- Cela pourrait-il être pertinent ainsi? developer.mozilla.org/en-US/docs/Web/API/Window.matchMedia
- Intéressant: ryanve.com/lab/dimensions
- Tutoriel utile -- w3schools.com/jsref/prop_win_innerheight.asp
- Comme d'autres l'ont commenté sous les réponses, il y a de meilleures solutions que l'on a accepté la réponse. Veuillez envisager de modifier la accepté de répondre.
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez jQuery, vous pouvez obtenir la taille de la fenêtre ou d'un document à l'aide de méthodes jQuery:
Pour la taille de l'écran, vous pouvez utiliser le
screen
objet de la manière suivante:46
) plutôt qu'une chaîne comme css('height') ("46px"
).jQuery
, toujours accepté comme la réponse correcte si elle est périmée? Je n'essaie pas d'être idiot, je viens d'obtenir vraiment ennuyé à chaque fois que je trouve quelque chose comme ceciCela a tout ce que vous devez savoir: Obtenez la fenêtre d'affichage/taille de la fenêtre
mais en bref:
Violon
g = document.body
?document.body
.g = document.body || d.getElementsByTagName('body')[0],
serait une belle solution.Ici est un navigateur croix de solution pure JavaScript (Source):
body element
renvoie la valeur deundefined
que le dom n'est pas encore chargé.Un non-jQuery façon de profiter de la dimension de l'écran.
window.screen.width/height
a déjà été mis en place, mais pour le responsive webdesign et de l'exhaustivité cause, je pense que sa vaut la peine de parler de ces attributs:http://www.quirksmode.org/dom/w3c_cssom.html#t10 :
window.screen.availHeight
semble supposer mode plein écran, de sorte que le mode d'écran normal des forces du défilement (testé avec Firefox et Chrome).window.screen.height
à la place.Mais lorsque nous parlons de réactif écrans et si on veut le manipuler à l'aide de jQuery pour une raison quelconque,
donne la bonne mesure. Même s'il supprime la barre de défilement de l'espace supplémentaire et nous n'avons pas besoin de s'inquiéter au sujet de l'adaptation que de l'espace 🙂
window.innerWidth
etwindow.innerHeight
ne parviennent pas à prendre la taille de la barre de défilement en compte. Si les barres de défilement sont présents, ces méthodes donnent de mauvais résultats pour la taille de la fenêtre dans presque tous les navigateurs de bureau. Voir stackoverflow.com/a/31655549/508355Pour vérifier la hauteur et la largeur de votre page chargée de tout site web à l'aide de "console" ou après avoir cliqué sur "Inspecter".
étape 1: Cliquez sur le bouton droit de la souris et cliquez sur "Inspecter" puis cliquez sur "console",
étape 2: assurez-vous que votre écran de navigateur doit être pas dans 'maximiser' mode. Si l'écran du navigateur en maximiser la mode, vous devez d'abord cliquer sur le bouton agrandir (présent soit à droite ou en haut à gauche) et de l'onu-l'agrandir.
étape 3: Maintenant, écrivez ce qui suit après le signe supérieur à ('>') c'est à dire
Vous pouvez également obtenir la FENÊTRE de largeur et de hauteur, en évitant la barre d'outils du navigateur et d'autres choses. C'est le réel de surface utile dans la fenêtre du navigateur.
Pour ce faire, utilisez:
window.innerWidth
etwindow.innerHeight
propriétés (voir la doc à w3schools).Dans la plupart des cas, il sera le meilleur moyen, par exemple, pour afficher une parfaitement centrée flottante, boîte de dialogue modale. Il vous permet de calculer les positions de la fenêtre, peu importe la résolution de l'orientation ou de la taille de la fenêtre est à l'aide du navigateur.
Si vous avez besoin d'une véritable solution impénétrable pour le document de la largeur et de la hauteur (la
pageWidth
etpageHeight
dans l'image), vous pouvez envisager d'utiliser un plugin de mine, jQuery.documentSize.Il n'a qu'un seul objectif: toujours le bon format de document, même dans les scénarios lors de jQuery et d'autres méthodes l'échec. En dépit de son nom, vous n'avez pas nécessairement besoin d'utiliser jQuery – il est écrit en Javascript natif et fonctionne sans jQuery, trop.
Utilisation:
pour le mondial
document
. Pour les autres documents, par exemple dans un intégré à l'iframe, vous avez accès à, passer le document en tant que paramètre:Mise à jour: maintenant, pour les dimensions de la fenêtre, trop
Depuis la version 1.1.0, jQuery.documentSize gère également les dimensions de la fenêtre.
Qui est nécessaire parce que
$( window ).height()
est buggy dans iOS, au point d'être inutile$( window ).width()
et$( window ).height()
sont peu fiable sur mobile car ils n'ont pas à gérer les effets de la téléphonie mobile de zoom.jQuery.documentSize fournit
$.windowWidth()
et$.windowHeight()
, qui à résoudre ces problèmes. Pour plus d'informations, s'il vous plaît vérifier la documentation.J'ai écrit un petit javascript bookmarklet que vous pouvez utiliser pour afficher la taille. Vous pouvez facilement ajouter à votre navigateur et à chaque fois que vous cliquez dessus, vous verrez la taille dans le coin supérieur droit de la fenêtre de votre navigateur.
Ici vous trouverez des informations sur comment utiliser un bookmarklet
https://en.wikipedia.org/wiki/Bookmarklet
Bookmarklet
Code Original
Le code d'origine est dans le café:
Fondamentalement, le code est en ajoutant une petite div qui met à jour lorsque vous redimensionnez votre fenêtre.
Dans certains cas liés à responsive layout
$(document).height()
peut renvoyer des données erronées qui affiche la vue du port de hauteur seulement.Par exemple, lorsque certains div#wrapper a la hauteur:100%, qu' #wrapper peut être étiré par certains de bloc à l'intérieur. Mais c'est de la hauteur seront toujours comme fenêtre d'affichage de la hauteur. Dans une telle situation, vous pouvez utiliser
Qui représente la taille réelle de wrapper.
J'ai développé une bibliothèque pour connaître la vraie taille de la fenêtre pour les postes de travail mobiles et des navigateurs, parce que la fenêtre d'affichage tailles sont inconsistents à travers les dispositifs et ne peut pas compter sur toutes les réponses de ce post (d'après toutes les recherches que j'ai faites à ce sujet) : https://github.com/pyrsmk/W
Parfois, vous avez besoin de voir la largeur/hauteur des modifications lors du redimensionnement de la fenêtre et le contenu interne.
Pour qui j'ai écrit un petit script qui ajoute une boîte journal que dynamicly surveille tous le redimensionnement et presque immédiatement mises à jour.
Il ajoute un code HTML valide avec position fixe et du haut de z-index, mais est assez petite, donc vous pouvez:
vues
Testé sur: Chrome 40, IE11, mais il est très possible de travailler sur d'autres/les anciens navigateurs trop ... 🙂
EDIT: Maintenant, les styles sont appliqués uniquement à l'exploitant forestier élément de la table - pas à toutes les tables - aussi c'est un jQuery-gratuit solution 🙂
Vous pouvez utiliser le Écran objet de l'obtenir.
Ce qui suit est un exemple de ce qu'il serait de retour:
Pour obtenir votre
screenWidth
variable, il suffit d'utiliserscreen.width
, même avecscreenHeight
, vous utilisez simplementscreen.height
.Pour obtenir votre fenêtre de largeur et de hauteur, il serait
screen.availWidth
ouscreen.availHeight
respectivement.Pour la
pageX
etpageY
variables, utilisezwindow.screenX or Y
. Notez que c'est à partir de la TRÈS à GAUCHE/en HAUT DE VOTRE SUPÉRIEUR/GAUCHE-est de l'ÉCRAN. Donc, si vous avez deux écrans de largeur1920
une fenêtre de 500px de la gauche de la droite de l'écran aurait une valeur X de2420
(1920+500).screen.width/height
, toutefois, l'affichage de l'écran en cours de largeur ou de la hauteur.Pour obtenir la largeur et la hauteur de votre page, l'utilisation de jQuery
$(window).height()
ou$(window).width()
.De nouveau à l'aide de jQuery, l'utilisation
$("html").offset().top
et$("html").offset().left
pour votrepageX
etpageY
valeurs., voici ma solution!
JS:
Ce comment j'ai réussi à obtenir la largeur de l'écran de Réagir JS Projet:
Si la largeur est égale à 1680 puis retour 570 else return 200
De l'écran.availWidth