javascript — Можете ли вы извлечь часть пользовательского агента и отобразить ее?

Я изменяю систему отслеживания ошибок, и у меня есть поля для пользовательского ввода «Платформа», «ОС» и «Версия ОС», я хочу иметь кнопки обнаружения, которые при нажатии используют разные «Свойства объекта навигатора», это нормально и работая для «платформы», и я использовал большинство, если не все свойства объекта, для извлечения информации (см. ниже) —

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

Вы заметите, что есть кнопка, которая включает включенный дисплей.

Проблема в том, что я не могу извлечь простой ответ для «ОС» и «версия ОС».

Я вижу нужную информацию внутри пользовательского агента, было бы очень полезно, если бы кто-то знал, как извлечь эту информацию из каждого пользовательского агента, когда они сообщают об ошибке, возможно ли это?

Примером моего пользовательского агента является ‘заголовок User-agent: Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit / 537.36 (KHTML, как Gecko) (// удалена часть браузера)

Мне нужен этот бит «(Macintosh; Intel Mac OS X 10_11_1)» и я хотел бы иметь возможность форматировать.

Я знаю, что сделал этот вопрос немного длинным, но любые указатели или альтернативы были бы оценены — ни один из вопросов здесь не был связан с моей проблемой.

(приведенный выше код взят из школ W3, но это хороший пример всех объектов)

Спасибо, Пэдди.

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

Другие решения

Других решений пока нет …