ES6-ブラウザ

それぞれを期待どおりに処理するには、異なるブラウザ間の違いを理解することが重要です。したがって、Webページが実行されているブラウザを知ることが重要です。Webページが現在実行されているブラウザに関する情報を取得するには、組み込みのナビゲータオブジェクトを使用します。

ナビゲーターのプロパティ

Webページで使用できるナビゲーター関連のプロパティがいくつかあります。以下は、名前とその説明のリストです。

シニア番号 プロパティと説明
1

appCodeName

このプロパティは、ブラウザのコードネーム、Netscapeの場合はNetscape、InternetExplorerの場合はMicrosoftInternetExplorerを含む文字列です。

2

appVersion

このプロパティは、ブラウザのバージョンと、言語や互換性などの他の有用な情報を含む文字列です。

3

language

このプロパティには、ブラウザで使用される言語の2文字の略語が含まれています。Netscapeのみ。

4

mimTypes[]

このプロパティは、クライアントがサポートするすべてのMIMEタイプを含む配列です。Netscapeのみ。

5

platform[]

このプロパティは、ブラウザがコンパイルされたプラットフォームを含む文字列です。32ビットWindowsオペレーティングシステム用の「Win32」。

6

plugins[]

このプロパティは、クライアントにインストールされているすべてのプラグインを含む配列です。Netscapeのみ。

7

userAgent[]

このプロパティは、ブラウザのコード名とバージョンを含む文字列です。この値は、クライアントを識別するために発信元サーバーに送信されます。

ナビゲーターメソッド

ナビゲーター固有の方法がいくつかあります。これが彼らの名前と説明のリストです。

シニア番号 方法と説明
1

javaEnabled()

このメソッドは、JavaScriptがクライアントで有効になっているかどうかを判別します。JavaScriptが有効になっている場合、このメソッドはtrueを返します。それ以外の場合は、falseを返します。

2

plugings.refresh

このメソッドは、新しくインストールされたプラグインを使用可能にし、プラグイン配列にすべての新しいプラグイン名を入力します。Netscapeのみ

3

preference(name,value)

このメソッドを使用すると、署名されたスクリプトでNetscapeの設定を取得および設定できます。2番目のパラメーターを省略した場合、このメソッドは指定されたプリファレンスの値を返します。それ以外の場合は、値を設定します。Netscapeのみ

4

taintEnabled()

データ汚染が有効になっている場合、このメソッドはtrueを返します。それ以外の場合はfalse

ブラウザの検出

次のJavaScriptコードを使用してブラウザの名前を見つけ、それに応じてHTMLページをユーザーに提供できます。

<html> 
   <head> 
      <title>Browser Detection Example</title> 
   </head> 

   <body> 
      <script type = "text/javascript"> 
         <!--  
            var userAgent   = navigator.userAgent;  
            var opera       = (userAgent.indexOf('Opera') 
            ! = -1); var ie          = (userAgent.indexOf('MSIE') 
            != -1); var gecko        = (userAgent.indexOf('Gecko') 
            ! = -1); var netscape    = (userAgent.indexOf('Mozilla') 
            ! = -1); var version     = navigator.appVersion;  

            if (opera) {  
               document.write("Opera based browser");    
               // Keep your opera specific URL here.  
            } else if (gecko) {
               document.write("Mozilla based browser");   
               // Keep your gecko specific URL here.  
            } else if (ie) {   
               document.write("IE based browser");    
               // Keep your IE specific URL here.  
            } else if (netscape) {  
               document.write("Netscape based browser");    
               // Keep your Netscape specific URL here.  
            } else {  
               document.write("Unknown browser");  
            }   
            // You can include version to along with any above condition. 
            document.write("<br /> Browser version info : " + version );  
            //
         --> 
      </script> 
   </body> 
   
</html>

上記のコードが正常に実行されると、次の出力が表示されます。

Mozilla based browser  
Browser version info : 5.0

(Windows NT 6.3; WOW64)AppleWebKit / 537.36(KHTML、Geckoなど)Chrome / 41.0.2272.101 Safari / 537.36