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