0

我正在尝试获取客户端系统详细信息,我尝试获取数据 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>
4

3 回答 3

3

客户端操作系统:

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 变量发送回服务器。

于 2013-11-12T07:14:37.577 回答
0

客户端系统名称:

您可以“有时”使用 IE 来执行此操作,因为我已经为仅 IE 的 Intranet 上的内部应用程序执行此操作。尝试以下操作:

function GetComputerName()

{

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

它可能需要也可能不需要在 IE 中进行一些特定的安全设置设置,以允许浏览器访问 ActiveX 对象。

于 2013-11-12T07:17:53.683 回答
-2

客户端时间戳:

在 JavaScript 中?现在只需实例化一个新的 Date 对象 = new Date(); 这将使用客户端的本地时间创建一个新的 Date 对象。

于 2013-11-12T07:11:32.580 回答