簡體   English   中英

如何使用 JavaScript 獲取客戶端系統詳細信息

[英]How to get Client System Details using JavaScript

我正在嘗試獲取客戶端系統詳細信息,我嘗試獲取數據 IP 地址、國家/地區、州、位置等。但是,我仍然需要更多信息,例如...客戶端系統名稱、客戶端操作系統和客戶端時間戳。 如何使用 Javascript 獲取所有這些信息。

代碼:

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title>Get User Details IP Address, city, country, state, latitude, longitude </title>
    <script src="http://code.jquery.com/jquery-1.8.2.js" type="text/javascript"></script>
    <script type="text/javascript">
        var strip, strcountry, strcity, strregion, strlatitude, strlongitude, strtimezone

        function GetUserInfo(data) {
            alert(data.hostname);
            strip = data.host;
            strcountry = data.countryName;
            strcity = data.city;
            strregion = data.region;
            strlatitude = data.latitude;
            strlongitude = data.longitude;
            strtimezone = data.timezone;
        }
        $(function() {
            BindUserInfo();
        })

        function BindUserInfo() {
            document.getElementById('lblIP').value = strip;
            document.getElementById('lblCountry').value = strcountry;
            document.getElementById('lblCity').value = strcity;
            document.getElementById('lblregion').value = strregion;
            document.getElementById('lbllatitude').value = strlatitude;
            document.getElementById('lbllongitude').value = strlongitude;
            document.getElementById('lbltimezone').value = strtimezone;
        }
    </script>
    <script type="text/javascript" src="http://smart-ip.net/geoip-json?callback=GetUserInfo"></script>
</head>

<body>
    <div>
        <table>
            <tr>
                <td>
                    <input type="text" id="lblIP" value="" />
                    <input type="text" id="lblCountry" value="" />
                    <input type="text" id="lblCity" value="" />
                    <input type="text" id="lblregion" value="" />
                    <input type="text" id="lbllatitude" value="" />
                    <input type="text" id="lbllongitude" value="" />
                    <input type="text" id="lbltimezone" value="" />
                </td>
            </tr>
        </table>
    </div>
</body>

</html>

客戶端操作系統:

String userAgent = request.getHeader("User-Agent");

您可以從這個網站獲得所有用戶代理值的完整列表, http://www.user-agents.org/

Javascript 方式:

var OSName="Unknown 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";

並將 OSName 變量發送回服務器。

客戶端系統名稱:

您可以“有時”使用 IE 來執行此操作,因為我已經為內部網上的內部應用程序(僅 IE)執行了此操作。 請嘗試以下操作:

function GetComputerName()

{

    try
    {
        var network = new ActiveXObject('WScript.Network');
        // Show a pop up if it works
        alert(network.computerName);
    }
    catch (e) { }
}

它可能需要也可能不需要在 IE 中設置一些特定的安全設置,以允許瀏覽器訪問 ActiveX 對象。

客戶端時間戳:

在 JavaScript 中? 現在實例化一個新的 Date 對象 = new Date(); 這將使用客戶端的本地時間創建一個新的 Date 對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM