Javascript-browsers-handling
JavaScript-ブラウザーの互換性
各ブラウザーを期待どおりに処理するには、異なるブラウザー間の違いを理解することが重要です。 そのため、Webページが実行されているブラウザを知ることが重要です。
Webページが現在実行されているブラウザに関する情報を取得するには、組み込みの navigator オブジェクトを使用します。
ナビゲーターのプロパティ
Webページで使用できるNavigator関連のプロパティがいくつかあります。 以下は、それぞれの名前と説明のリストです。
Sr.No. | Property & Description |
---|---|
1 |
appCodeName このプロパティは、ブラウザのコード名、NetscapeのNetscape、Internet ExplorerのMicrosoft Internet Explorerを含む文字列です。 |
2 |
appVersion このプロパティは、ブラウザのバージョンと、言語や互換性などの他の有用な情報を含む文字列です。 |
3 |
language このプロパティには、ブラウザで使用される言語の2文字の略語が含まれています。 Netscapeのみ。 |
4 |
mimTypes[] このプロパティは、クライアントがサポートするすべてのMIMEタイプを含む配列です。 Netscapeのみ。 |
5 |
platform[] このプロパティは、ブラウザがコンパイルされたプラットフォームを含む文字列です。32ビットWindowsオペレーティングシステムの「Win32」 |
6 |
plugins[] このプロパティは、クライアントにインストールされているすべてのプラグインを含む配列です。 Netscapeのみ。 |
7 |
userAgent[] このプロパティは、ブラウザのコード名とバージョンを含む文字列です。 この値は、クライアントを識別するために元のサーバーに送信されます。 |
ナビゲーターメソッド
ナビゲータ固有のメソッドがいくつかあります。 それらの名前と説明のリストを以下に示します。
Sr.No. | Description |
---|---|
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>