「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > アヒルタイピングを使用して Safari、Chrome、Firefox、IE、Opera ブラウザを確実に検出するにはどうすればよいですか?

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

2024 年 12 月 23 日に公開
ブラウズ:898

How Can I Reliably Detect Safari, Chrome, Firefox, IE, and Opera Browsers Using 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';

サファリ 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;

Chrome 1 - 79:

var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);

エッジ (chromium ベース) 検出:

var isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1);

Blink エンジン検出:

var isBlink = (isChrome || isOpera) && !!window.CSS;

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

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

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3