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 サイトの他の関連記事を参照してください。