3

JS を使用して OS に関する詳細情報を取得することに関する多くの質問を見てきました。しかし、Windows を使用しているかどうかを知りたいだけです。私のブラウザ プラグインは最初は Windows のみをサポートするため、ユーザーに無意味に EXE/MSI インストーラをダウンロードさせたくありません。

JS を使わなくてもこのようなことができると思っていたのですが、古い本の IIRC で IE を検出するための奇妙な条件付き HTML を見たことがあります。

4

3 に答える 3

3

非表示のダウンロードリンクとサイトの代替スタイルシートを作成し、条件付きコメントを使用してそれらを切り替えることができます。

<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->

そして、そのスタイルシートでは、通常のブラウザはこれを参照しています。

#download
{
  display: none;
}

ただし、特別なie.cssスタイルシート内で、次のように表示できます。

#download
{
  display: block !important;
}

すべてをJavaScriptで実行したい場合は、次の関数を試してください。

if (navigator.appVersion.indexOf('Win') != -1 && /MSIE (\d+\.\d+);/.test(navigator.userAgent))
{
  var version = new Number(RegExp.$1);

  if (version > 7)
  {
    alert('You are using a compatible browser.');
  }
}

私はChromeとLinuxを使用しているので、テストできません(そして、ユーザーエージェントの文字列を切り替えるのが面倒です)。

于 2011-03-03T17:05:30.467 に答える
2

navigator.platform を使用して確認できませんか? if (navigator.platform == anything) のように、まあまあです。

はい: http://www.w3schools.com/jsref/prop_nav_platform.asp

于 2011-03-03T17:02:20.180 に答える
0

javascriptを使用していない場合、私が考えることができるのはIE条件付きコメントを利用することだけですが、それでも、一部のjavascriptまたはcssを含める/除外することしかできません。

OSやブラウザなどを本当に知りたい場合は、ユーザーエージェント文字列を解析してみてください。ブラウザ、オペレーティングシステム、およびその他の値について報告しますが、信頼性はありません(たとえば、文字列を偽造することができます)。Quirksmodeには、ブラウザとOSを検出するための優れた機能があります。

于 2011-03-03T17:06:25.420 に答える