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

JavaScript で Safari、Chrome、Firefox、IE、Opera ブラウザを確実に検出するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-19 11:53:12
オリジナル
240 人が閲覧しました

How Can I Reliably Detect Safari, Chrome, Firefox, IE, and Opera Browsers in JavaScript?

Safari、Chrome、IE、Firefox、および Opera ブラウザを検出する方法

ユーザーのブラウザを特定することは、ユーザーを適切なアドオンまたは拡張機能。ユーザー エージェント文字列のチェックは一般的な方法ですが、スプーフィングが原因で信頼性が低くなる可能性があります。

より堅牢なソリューションを提供するには、ダックタイピングによってブラウザを検出できます。この方法では、ユーザー エージェント文字列に依存するのではなく、ブラウザー固有の API と機能を利用します。この検出方法は、ブラウザー固有のインストール手順など、必要な場合にのみ使用してください。可能な限り、機能検出を優先する必要があります。

ダックタイピング ブラウザ検出用の JavaScript コード スニペットは次のとおりです。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

// 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+ "[object HTMLElementConstructor]"

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);

 

// Edge (based on chromium) detection

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

 

// Blink engine detection

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

ログイン後にコピー

これらのブラウザ固有のチェックを利用することで、ユーザーを効果的にリダイレクトできます。それぞれのブラウザに正しいアドオンまたは拡張機能をダウンロードしてください。

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

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