ホームページ > ウェブフロントエンド > jsチュートリアル > アヒルタイピングを使用して Safari、Chrome、Firefox、IE、Opera ブラウザを確実に検出するにはどうすればよいですか?

アヒルタイピングを使用して Safari、Chrome、Firefox、IE、Opera ブラウザを確実に検出するにはどうすればよいですか?

DDD
リリース: 2024-12-18 13:41:16
オリジナル
580 人が閲覧しました

How Can I Reliably Detect Safari, Chrome, Firefox, IE, and Opera Browsers Using Duck Typing?

Duck-Typing で Safari、Chrome、IE、Firefox、Opera ブラウザを検出する

多くの場合、ユーザーのブラウザをリダイレクトするために必要になります。ブラウザ固有の拡張機能の適切なダウンロード リンクに移動します。ただし、ブラウザの検出にユーザー エージェント文字列に依存することは、なりすましの影響を受けやすいため信頼性が低くなります。

ダックタイピングと呼ばれる、より信頼性の高い方法を使用して、ブラウザ固有の特性に基づいてブラウザを識別できます。内訳は次のとおりです:

Opera 8.0 :

var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
ログイン後にコピー

Firefox 1.0 :

var isFirefox = typeof InstallTrigger !== 'undefined';
ログイン後にコピー

Safari 3.0 :

var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && window['safari'].pushNotification));
ログイン後にコピー

Internet Explorer 6-11:

var isIE = /*@cc_on!@*/false || !!document.documentMode;
ログイン後にコピー

Edge 20 :

var isEdge = !isIE && !!window.StyleMedia;
ログイン後にコピー

クロム 1 - 79:

var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);
ログイン後にコピー

エッジ (クロムベース) 検出:

var isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1);
ログイン後にコピー

点滅エンジン検出:

var isBlink = (isChrome || isOpera) && !!window.CSS;
ログイン後にコピー

これらの方法を使用してブラウザを検出したら、次のことができます。ユーザーをブラウザ固有の拡張機能の適切なダウンロード リンクにリダイレクトします。

ただし、ブラウザ固有のインストール手順を表示するなど、必要な場合にのみブラウザ検出を使用する必要があることを強調することが重要です。一般的なベスト プラクティスとして、可能な限り特徴検出に重点を置きます。

以上がアヒルタイピングを使用して Safari、Chrome、Firefox、IE、Opera ブラウザを確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート