Я пытаюсь получить детали клиентской системы, я пытался получить данные 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/
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 обратно на сервер.
В JavaScript? Просто создайте экземпляр нового объекта Date now = new Date(); Это создаст новый объект Date с локальным временем клиента.
Вы можете сделать это с помощью 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.