


Détection JavaScript de l'état de zoom du navigateur, implémentation des compétences code_javascript
Le zoom mentionné ici ne fait pas référence au zoom de la taille du navigateur, mais fait référence au pourcentage de zoom du contenu de la page Web du navigateur (appuyez sur Ctrl et sur la touche ou - pour zoomer).
Il existe de nombreuses façons de détecter ce zoom. QQ Space utilise Flash pour détecter si le navigateur effectue un zoom. Voici une méthode javascript pour détecter le zoom du navigateur.
Pour IE6, ignorez-le simplement, car IE6 ne peut zoomer que sur le texte.
Parlons d'abord de l'interface de détection standard fournie par le navigateur. window.devicePixelRatio est le rapport entre les pixels physiques de l'appareil et les pixels indépendants de l'appareil. Cet attribut peut être utilisé pour détecter si la page Web a été mise à l'échelle. Sur les navigateurs PC normaux, la valeur par défaut est 1 sans mise à l'échelle par défaut. Actuellement, Firefox, Chrome, etc. sont bien pris en charge.
D'accord, il est maintenant temps de parler de la façon dont IE gère cela. IE fournit deux propriétés : window.screen.deviceXDPI et window.screen.logicalXDPI deviceXDPI correspond aux pixels physiques de l'appareil, et logicalXDPI correspond à la proportion de pixels indépendants sur l'appareil. On estime que l'interface de détection standard n'est qu'une amélioration basée sur la méthode IE. La valeur par défaut de ces deux propriétés sur les systèmes supérieurs à Windows XP est 96, car la valeur par défaut du système est 96 dpi.
Pour les navigateurs qui ne prennent en charge aucun des éléments ci-dessus, vous pouvez également utiliser les propriétés window.outerWidth et window.innerWidth. externalWidth renvoie la largeur extérieure réelle de l'élément window et innerWidth renvoie la largeur intérieure réelle de l'élément window. Les deux largeurs incluent la largeur de la barre de défilement.
Avec ces attributs, vous pouvez essentiellement gérer les navigateurs courants sur les navigateurs PC. Le code d'implémentation est le suivant :
Si la valeur de retour de la fonction detectorZoom est 100, c'est le niveau de zoom par défaut, s'il est supérieur à 100, il est zoomé, et s'il est inférieur à 100, il est dézoomé.
function detectZoom (){ var ratio = 0, screen = window.screen, ua = navigator.userAgent.toLowerCase(); if (window.devicePixelRatio !== undefined) { ratio = window.devicePixelRatio; } else if (~ua.indexOf('msie')) { if (screen.deviceXDPI && screen.logicalXDPI) { ratio = screen.deviceXDPI / screen.logicalXDPI; } } else if (window.outerWidth !== undefined && window.innerWidth !== undefined) { ratio = window.outerWidth / window.innerWidth; } if (ratio){ ratio = Math.round(ratio * 100); } return ratio; };
Article original, veuillez l'indiquer lors de la réimpression : Réimprimé de Développement front-end

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



En utilisant récemment des fichiers de police installés localement dans les pages Web, j'ai téléchargé une police gratuite à partir d'Internet et je l'ai installée avec succès dans mon système. Maintenant...

Réalisez l'effet d'écart de la disposition des coupons de carte. Lors de la conception de la disposition des coupons de carte, vous rencontrez souvent la nécessité d'ajouter des lacunes sur les coupons de carte, surtout lorsque l'arrière-plan est le gradient ...

La méthode de personnalisation des symboles de redimension dans CSS est unifiée avec des couleurs d'arrière-plan. Dans le développement quotidien, nous rencontrons souvent des situations où nous devons personnaliser les détails de l'interface utilisateur, tels que l'ajustement ...

Pourquoi les marges négatives ne prennent-elles pas effet dans certains cas? Pendant la programmation, les marges négatives dans CSS (négatif ...

Comment obtenir des données dynamiques de la page de travail 58.com tout en rampant? Lorsque vous rampez une page de travail de 58.com en utilisant des outils de chenilles, vous pouvez rencontrer cela ...

La raison et la solution pour coder des exceptions lors de l'utilisation de la bibliothèque de requêtes pour obtenir du contenu de texte HTML dans l'environnement Node.js. Pendant le processus de développement de l'utilisation de Node.js, il est souvent nécessaire de ...

Implémentation de dispositions réactives à l'aide de CSS lorsque nous voulons implémenter des modifications de mise en page sous différentes tailles d'écran dans la conception Web, CSS ...

Le défi de garder le style de la page zoomé et le même après le zoom avant.
