Maison interface Web js tutoriel Détection JavaScript de l'état de zoom du navigateur, implémentation des compétences code_javascript

Détection JavaScript de l'état de zoom du navigateur, implémentation des compétences code_javascript

May 16, 2016 pm 04:35 PM
浏览器

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;
};
Copier après la connexion

Article original, veuillez l'indiquer lors de la réimpression : Réimprimé de Développement front-end

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment afficher correctement le 'Jingnan Mai Round Body' installé localement sur la page Web? Comment afficher correctement le 'Jingnan Mai Round Body' installé localement sur la page Web? Apr 05, 2025 pm 10:33 PM

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...

Comment réaliser un effet d'écart sur la disposition de la carte et des coupons avec fond de gradient? Comment réaliser un effet d'écart sur la disposition de la carte et des coupons avec fond de gradient? Apr 05, 2025 am 07:48 AM

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 ...

Comment personnaliser le symbole de redimensionnement via CSS et le rendre uniforme avec la couleur d'arrière-plan? Comment personnaliser le symbole de redimensionnement via CSS et le rendre uniforme avec la couleur d'arrière-plan? Apr 05, 2025 pm 02:30 PM

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? Comment résoudre ce problème? Pourquoi les marges négatives ne prennent-elles pas effet dans certains cas? Comment résoudre ce problème? Apr 05, 2025 pm 10:18 PM

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 d'application et de visionneuse en temps réel sur la page de travail 58.com? Comment obtenir des données d'application et de visionneuse en temps réel sur la page de travail 58.com? Apr 05, 2025 am 08:06 AM

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 ...

Quelle est la raison de l'encodage des exceptions lors de l'utilisation de la bibliothèque de demande pour obtenir du texte HTML dans Node.js? Comment le résoudre? Quelle est la raison de l'encodage des exceptions lors de l'utilisation de la bibliothèque de demande pour obtenir du texte HTML dans Node.js? Comment le résoudre? Apr 05, 2025 am 07:03 AM

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 ...

Comment utiliser CSS et Flexbox pour implémenter la disposition réactive des images et du texte à différentes tailles d'écran? Comment utiliser CSS et Flexbox pour implémenter la disposition réactive des images et du texte à différentes tailles d'écran? Apr 05, 2025 pm 06:06 PM

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 style reste le même après les zooms de la page PC: quelles sont les solutions possibles? Le style reste le même après les zooms de la page PC: quelles sont les solutions possibles? Apr 05, 2025 am 07:51 AM

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

See all articles