La mise à l'échelle mentionnée ici ne fait pas référence à la mise à l'échelle de la taille du navigateur, mais plutôt à la mise à l'échelle en pourcentage du contenu Web du navigateur (appuyez sur les touches Ctrl et + Sign ou les touches de signe).
Il existe de nombreuses façons de détecter ce type de mise à l'échelle. L'espace QQ utilise Flash pour détecter si le navigateur est à l'échelle. Voici une méthode JavaScript pour détecter la mise à l'échelle du navigateur.
Pour IE6, je l'ignore simplement car IE6 ne peut que mettre à l'échelle du texte.
Parlons d'abord de l'interface de détection standard fournie par le navigateur. Window.DevicePixelratio est le rapport des pixels physiques sur l'appareil et des pixels indépendants de l'appareil. Cet attribut peut être utilisé pour détecter si la page Web est mise à l'échelle. Sur un navigateur PC normal, la valeur par défaut est 1 s'il n'y a pas de zoom par défaut. Actuellement, Firefox, Chrome, etc. sont bien pris en charge.
Eh bien, il est temps de parler de la façon dont IE est traité. IE fournit deux attributs: window.screen.devicexdpi et window.screen.logicalxdpi. Devicexdpi est les pixels physiques correspondants sur l'appareil, et LogicXDPI est la proportion de pixels indépendants de l'appareil. L'interface de détection de la norme d'estimation est également basée sur une amélioration de la méthode IE. La valeur par défaut de ces deux attributs sur les systèmes au-dessus de Windows XP + est de 96, car la valeur par défaut du système est 96dpi.
Pour les navigateurs qui ne prennent pas en charge les deux ci-dessus, vous pouvez également utiliser les deux propriétés de Window.outerWidth et Window.innerWidth. OUTERWIDTH RETOURS La largeur externe réelle de l'élément de fenêtre, innerwidth renvoie la largeur interne réelle de l'élément de fenêtre, les deux largeurs incluent la largeur comprenant la barre de défilement.
Avec ces attributs, vous pouvez essentiellement résoudre les navigateurs communs sur les navigateurs PC. Le code d'implémentation est le suivant:
Si la valeur de retour de la fonction DetectZoom est de 100, c'est le niveau de zoom par défaut, s'il est supérieur à 100, il est agrandi, et s'il est inférieur à 100, il est rétréci.
fonction détectzoom () {var ratio = 0, screp = 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); } Rapport de retour;};Articles originaux, veuillez indiquer la réimpression: réimprimé du développement frontal