javascript - 你能提取部分用户代理并显示它吗?

标签 javascript php computer-science user-agent

我正在更改错误跟踪系统,并且我有用户输入“平台”、“操作系统”和“操作系统版本”的字段,我想要有检测按钮,单击该按钮时会使用不同的“导航器对象属性”,这很好,适用于“平台”,我使用了大多数(如果不是全部)对象属性来提取信息(见下文) -

<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/

相关文章:

javascript - backbone.js 集合绑定(bind)了这个困惑

java - 从 JavaScript 调用 Servlet

javascript - 使用vue.js组件统计数据值

php - 如何从前一个div中获取隐藏的输入值

javascript - 8皇后问题。这段 JavaScript 代码如何工作?

javascript - Mac Pro 网站的每个部分硬件的动画概念是由 css3 + js 完成的?

php - 在 ob_end_flush() 之前和标题之前需要样式表(位置 : ), 如何?

php - WordPress 按日期获取用户返回空列表

java - 关键字如何以二进制形式表示?

java - java程序如何与编译器交互?