我需要帮助获取用户的浏览器信息,IP地址和地理位置。我们正在开发asp.net应用程序,我们需要上述信息来跟踪用户信息,从他/她访问浏览器/IP信息的应用程序。以下是我们需要并需要存储在应用程序数据库中的详细信息。
<
- 浏览器信息/版本/gh>操作系统
- 设备(台式机/笔记本/平板电脑/手机)
- 国家代码/国家名称
城市
有可能从一个来源获得所有的信息吗?我在谷歌上搜索了这些,并建议使用第三方api来获取基于IP地址的地理信息,api是否可靠,可以使用应用程序。是否有最好的方法来构建自己的API来获取这些信息?请建议。
试试下面的javascript函数,它将返回浏览器名称和浏览器版本。
function get_browser()
{
var ua = navigator.userAgent, tem,
M=ua.match(/(opera|chrome|safari|firefox|msie|trident(?=/))/?s*(d+)/i) ||[];
if (/trident/i.test(M[1]))
{
tem = /brv[ :]+(d+)/g.exec(ua) || [];
return { name: 'IE', version: (tem[1] || '') };
}
if (M[1] === 'Chrome')
{
tem = ua.match(/bOPR/(d+)/)
if (tem != null)
{
return { name: 'Opera', version: tem[1] };
}
}
M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];
if ((tem = ua.match(/version/(d+)/i)) != null)
{
M.splice(1, 1, tem[1]);
}
return {
name: M[0],
version: M[1]
};
}
如果有人需要一个更短的方法来完成问题中提到的任务,他们可以使用下面的代码;
<div id="demo"></div>
<script type="text/javascript">
var txt = "";
txt += "<p> Browser CodeName: <strong>"+navigator.appCodeName+" </strong></p>";
txt += "<p> Browser Name: <strong>"+navigator.appName+"</strong></p>";
txt += "<p> Browser Version: <strong>"+navigator.appVersion+"</strong></p>";
txt += "<p> Cookies Enabled: <strong>"+navigator.cookieEnabled+"</strong></p>";
txt += "<p> Browser Online: <strong>"+navigator.onLine+"</strong></p>";
txt += "<p> Language: <strong>"+navigator.language+"</strong></p>";
txt += "<p> Platform: <strong>"+navigator.platform+"</strong></p>";
txt += "<p> User-agent Header: <strong>"+navigator.userAgent+"</strong></p>";
document.getElementById("demo").innerHTML=txt;
</script>