我正在更改错误跟踪系统,并且具有用于用户输入“平台”,“操作系统”和“操作系统版本”的字段,我希望具有检测按钮,当单击这些按钮时,将使用不同的“导航器对象属性”,这很好并且为“平台”工作,我使用了大多数(如果不是全部)对象属性来提取信息(请参见下文)-
<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>
您会注意到有一个按钮可以切换显示的内容。
问题是我无法为“ OS”和“ OS version”提取简单的答案。
我在用户代理中看到了所需的信息,如果有人知道在报告错误时从每个用户“用户代理”中提取该信息的方式,这将非常有帮助吗?
我的用户代理的示例是“用户代理标头:Mozilla / 5.0(Macintosh;英特尔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/