ブラウザのズームステータスのJavaScript検出実装コード_JavaScriptスキル
ここで説明するズームは、ブラウザのサイズのズームを指すのではなく、ブラウザの Web ページのコンテンツのズーム率を指します (ズームするには Ctrl キーと - キーを押します)。
このズームを検出するにはさまざまな方法があります。QQ Space ではフラッシュを使用してブラウザがズームしているかどうかを検出します。これはブラウザのズームを検出するための JavaScript メソッドです。
IE6 の場合は、IE6 ではテキストのみをズームできるため、無視してください。
まず、ブラウザーによって提供される標準の検出インターフェイスについて説明します。 window.devicePixelRatio は、デバイス上の物理ピクセルとデバイスに依存しないピクセルの比率であり、Web ページが拡大縮小されたかどうかを検出するために使用できます。通常の PC ブラウザでは、デフォルト値は 1 で、デフォルトではスケーリングはありません。現在、Firefox、chrome などが十分にサポートされています。
さて、今度は IE がこれをどのように処理するかについて説明します。 IE には、window.screen.deviceXDPI と window.screen.logicalXDPI という 2 つのプロパティが用意されています。deviceXDPI はデバイス上の物理ピクセルに対応し、logicalXDPI はデバイス上の独立したピクセルの割合に対応します。標準の検出インターフェイスは、IE 手法に基づいた改良にすぎないと推定されます。システムのデフォルトは 96dpi であるため、Windows XP 以降のシステムでは、これら 2 つのプロパティのデフォルト値は 96 です。
上記のどちらもサポートしていないブラウザの場合は、window.outerWidth プロパティと window.innerWidth プロパティを使用することもできます。 externalWidth はウィンドウ要素の実際の外側の幅を返し、innerWidth はウィンドウ要素の実際の内側の幅を返します。どちらの幅にもスクロール バーの幅が含まれます。
これらの属性により、基本的に PC ブラウザ上で一般的なブラウザを扱うことができます。実装コードは次のとおりです:
detectZoom 関数の戻り値が 100 の場合、それはデフォルトのズーム レベルであり、100 より大きい場合はズームインされ、100 より小さい場合はズーム アウトされます。
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; };
元の記事、転載する場合は明記してください: フロントエンド開発
から転載
ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

カードクーポンレイアウトのギャップ効果を実現します。カードクーポンレイアウトを設計するとき、特に背景が勾配である場合、カードクーポンにギャップを追加する必要があることがよくあります...

最近、Webページにローカルにインストールされたフォントファイルを使用して、インターネットから無料のフォントをダウンロードし、システムに正常にインストールしました。今...

なぜマイナスマージンが場合によっては有効にならないのですか?プログラミング中、CSSの負のマージン(負...

CSSでサイズ変更シンボルをカスタマイズする方法は、背景色で統一されています。毎日の開発では、調整など、ユーザーインターフェイスの詳細をカスタマイズする必要がある状況に遭遇することがよくあります...

クロール中に58.com作業ページの動的データを取得するにはどうすればよいですか? Crawlerツールを使用して58.comの作業ページをrawったら、これに遭遇する可能性があります...

CSSを使用してレスポンシブレイアウトを実装して、Webデザインのさまざまな画面サイズの下でレイアウトの変更を実装する場合、CSS ...

node.js環境でHTMLテキストコンテンツを取得するためにリクエストライブラリを使用する場合のコーディング例外の理由とソリューション。 node.jsを使用する開発プロセス中に、しばしば...
