1
var userAgent = navigator.userAgent.toLowerCase();

    // Figure out what browser is being used.
    var Browser = {
        Version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
        Chrome: /chrome/.test(userAgent),
        Safari: /webkit/.test(userAgent),
        Opera: /opera/.test(userAgent),
        IE: /msie/.test(userAgent) && !/opera/.test(userAgent),
        Mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent),
        Check: function() { alert(userAgent); }
    };

    if (Browser.Chrome || Browser.Mozilla) {
        // A
    }
    else if (Browser.IE) {
        // B
    }
    else {
        // C
    }

では、HTML ファイルにこのような JavaScript コードがあるとします。この JavaScript コードの結果を出力し、結果をサーバーのファイルに書き込む方法を教えてもらえますか?

また、OS 検出を提供する JavaScript コードは何ですか?

4

3 に答える 3

2

クライアントマシン上のオペレーティングシステムを検出するために、スクリプトはnavigator.appVersionまたはnavigator.userAgentの値を分析できます。以下は、実際のクライアントOSを反映するように変数OSNameを設定するスクリプトの簡単な例です。

var OSName="不明なOS";

if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";

document.write('Your OS: '+OSName);

jsを使用してファイルに書き込む場合、SOについてはすでにそのような質問があります。ここを見てください: ファイルへの書き込み

とにかく、セキュリティ対策のために、JSはブラウザからファイルに書き込むことを許可しません。

于 2012-08-21T14:44:43.960 に答える
1

JavaScriptはクライアント側です。サーバーに書き込めません。また、セキュリティ上の制限により、クライアントファイルシステムにアクセスできません。

たぶん、なぜこれを達成したいのかを尋ねることから始めましょう-より良いアプローチがあるように思えます。

于 2012-08-21T14:44:21.600 に答える
0

OS情報はユーザーエージェントにも保存されます。

Mozilla / 5.0(Windows; U; Windows NT 5.1; en-US)AppleWebKit / 525.13(KHTML、Geckoなど)Chrome / 0.2.149.29 Safari / 525.13

Windows NT5.1はWindowsXP、言語en-USです

于 2012-08-21T14:45:01.547 に答える