Die hier erwähnte Skalierung bezieht sich nicht auf die Skalierung der Browsergröße, sondern auf die prozentuale Skalierung des Browser -Webinhalts (drücken Sie die STRG und die + Zeichenschlüssel oder die - Zeichenschlüssel).
Es gibt viele Möglichkeiten, diese Art von Skalierung zu erkennen. QQ Space verwendet Flash, um festzustellen, ob der Browser skaliert. Hier ist eine JavaScript -Methode, um die Skalierung des Browsers zu erkennen.
Für IE6 ignoriere ich es nur, weil IE6 nur den Text skalieren kann.
Sprechen wir zuerst über die vom Browser bereitgestellte Standard -Erkennungsschnittstelle. window.devicepixelratio ist das Verhältnis der physikalischen Pixel auf dem Gerät und unabhängigen Pixeln des Geräts. Dieses Attribut kann verwendet werden, um festzustellen, ob die Webseite skaliert ist. Bei einem normalen PC -Browser beträgt der Standardwert 1, wenn standardmäßig kein Zoom vorhanden ist. Derzeit werden Firefox, Chrom usw. gut unterstützt.
Nun, es ist Zeit darüber zu sprechen, wie der IE umgegangen wird. IE bietet zwei Attribute: window.screen.devicexdpi und window.screen.logicalxdpi. DevicexDPI sind die entsprechenden physikalischen Pixel auf dem Gerät, und LogicalXDPI ist der Anteil unabhängiger Pixel des Geräts. Die Erkennungsschnittstelle des Schätzungsstandards basiert auch auf einer Verbesserung der IE -Methode. Der Standardwert dieser beiden Attribute auf Systemen über Windows XP+ beträgt 96, da der Standardwert des Systems 96DPI beträgt.
Für Browser, die die beiden oben genannten zwei nicht unterstützen, können Sie auch die beiden Eigenschaften von Fenster verwenden. Die äußere Width gibt die tatsächliche externe Breite des Fensterelements zurück, die Innerwidth gibt die tatsächliche interne Breite des Fensterelements zurück. Beide Breiten enthalten die Breite einschließlich der Bildlaufleiste.
Mit diesen Attributen können Sie im Grunde genommen gemeinsame Browser auf PC -Browsern lösen. Der Implementierungscode lautet wie folgt:
Wenn der Rückgabewert der DetectZoom -Funktion 100 beträgt, ist es die Standard -Zoomebene, wenn sie größer als 100 ist, ist er vergrößert und wenn er weniger als 100 ist, wird er geschrumpft.
Funktion DETECTZOOM () {var Ratio = 0, screen = window.screen, ua = navigator.useragent.tolowerCase (); if (window.devicepixelRatio! } else if (~ ua.indexof ('msie')) {if (screen.devicexdpi && screen.logicalxdpi) {candio = screen.devicexdpi / screen.logicalxdpi; }} else if (window.outerwidth! == undefined && window.innnerwidth! } if (Verhältnis) {Verhältnis = math.round (Verhältnis * 100); } Return -Verhältnis;};Originalartikel, bitte geben Sie den Nachdruck an: Nachdruck aus der Front-End-Entwicklung