我正在更改错误跟踪系统,并且我有用户输入“平台”、“操作系统”和“操作系统版本”的字段,我想要有检测按钮,单击该按钮时会使用不同的“导航器对象属性”,这很好,适用于“平台”,我使用了大多数(如果不是全部)对象属性来提取信息(见下文) -
<ul id="clickme">
<li><a href="#/" id="element1" type="button" onclick="javascript:changeText(1)">Find for me</a></li>
</ul>
<div style="" id="hidden" hidden>
<div id="demo"></div>
<script>
var txt = "";
txt += "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
txt += "<p>Browser Name: " + navigator.appName + "</p>";
txt += "<p>Browser Version: " + navigator.appVersion + "</p>";
txt += "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
txt += "<p>Browser Language: " + navigator.language + "</p>";
txt += "<p>Browser Online: " + navigator.onLine + "</p>";
txt += "<p>Platform: " + navigator.platform + "</p>";
txt += "<p>User-agent header: " + navigator.userAgent + "</p>";
document.getElementById("demo").innerHTML = txt;
</script>
</div>
您会注意到有一个按钮可以切换显示内容。
问题是我无法提取“操作系统”和“操作系统版本”的简单答案。
我在用户代理中看到了所需的信息,如果有人知道如何在每个用户报告错误时从“用户代理”中提取该信息,那将会非常有帮助,这可能吗?
我的用户代理的一个示例是“用户代理 header :Mozilla/5.0(Macintosh;Intel Mac OS X 10_11_1)AppleWebKit/537.36(KHTML,如 Gecko)(//删除了浏览器部分)
我需要这个位“(Macintosh;Intel Mac OS X 10_11_1)”并且希望能够格式化。
谢谢!
最佳答案
有一个简洁的库可以帮助您执行此操作:https://github.com/faisalman/ua-parser-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>
关于javascript - 你能提取部分用户代理并显示它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36472151/