Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 能否提取部分用户代理并显示它?_Javascript_Php_Computer Science_User Agent - Fatal编程技术网

Javascript 能否提取部分用户代理并显示它?

Javascript 能否提取部分用户代理并显示它?,javascript,php,computer-science,user-agent,Javascript,Php,Computer Science,User Agent,我正在修改一个bug跟踪系统,我有用户输入“平台”、“操作系统”和“操作系统版本”的字段,我希望有检测按钮,当点击时使用不同的“导航器对象属性”,这很好,适用于“平台”,我使用了大多数(如果不是所有)对象属性来提取信息(见下文)—— var txt=“”; txt+=“浏览器代码名:”+navigator.appCodeName+“”; txt+=“浏览器名称:”+navigator.appName+“”; txt+=“浏览器版本:”+navigator.appVersion+“”; tx

我正在修改一个bug跟踪系统,我有用户输入“平台”、“操作系统”和“操作系统版本”的字段,我希望有检测按钮,当点击时使用不同的“导航器对象属性”,这很好,适用于“平台”,我使用了大多数(如果不是所有)对象属性来提取信息(见下文)——

var txt=“”; txt+=“浏览器代码名:”+navigator.appCodeName+“

”; txt+=“浏览器名称:”+navigator.appName+“

”; txt+=“浏览器版本:”+navigator.appVersion+“

”; txt+=“Cookies已启用:”+navigator.cookieEnabled+“

”; txt+=“浏览器语言:“+navigator.Language+”

”; txt+=“浏览器联机:“+navigator.Online+”

”; txt+=“平台:“+navigator.Platform+”

”; txt+=“用户代理标题:“+navigator.userAgent+”

”; document.getElementById(“demo”).innerHTML=txt;
您会注意到有一个按钮,用于切换包含的显示

问题是我无法为“OS”和“OS版本”提取一个简单的答案

我在用户代理中看到了所需的信息,如果有人在报告bug时知道如何从每个用户的用户代理中提取这些信息,这将非常有用,这可能吗

我的用户代理的一个例子是“用户代理头:Mozilla/5.0(Macintosh;Intel Mac OS X 10_11_1)AppleWebKit/537.36(KHTML,如Gecko)(//删除了浏览器部分)

我需要这个位“(Macintosh;Intel Mac OS X 10_11_1)”并希望能够格式化


谢谢

有一个整洁的库可以帮助您完成这项工作:

例如:

<script type="text/javascript" src="ua-parser.min.js"></script>
<script type="text/javascript">
    var parser = new UAParser();
    var os = parser.getOS();
    console.log(os.name, os.version);
</script>

var parser=new UAParser();
var os=parser.getOS();
console.log(os.name,os.version);

console.log命令记录到浏览器的开发者控制台。如果要在浏览器窗口中显示,请使用警报(os.name)作为示例。并检查ua-parser.min.js;)的路径
<script type="text/javascript" src="ua-parser.min.js"></script>
<script type="text/javascript">
    var parser = new UAParser();
    var os = parser.getOS();
    console.log(os.name, os.version);
</script>