Я создаю веб-страницу, и я использую этот код для обнаружения особенностей браузера, таких как версия и имя.идентификация браузера с javascript
navigator.sayswho= (function(){
var ua= navigator.userAgent, tem,
M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
if(/trident/i.test(M[1])){
tem= /\brv[ :]+(\d+)/g.exec(ua) || [];
return 'IE '+(tem[1] || '');
}
if(M[1]=== 'Chrome'){
tem= ua.match(/\b(OPR|Edge)\/(\d+)/);
if(tem!= null) return tem.slice(1).join(' ').replace('OPR', 'Opera');
}
M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]);
return M.join(' ');
})();
Код здесь: How can you detect the version of a browser?
Мне интересно, что это делает под капотом. Какой файл в файловой системе mu javascript открыт, чтобы прочитать сведения о браузере, если пользователь использует Chrome, например?
Сценарий не открывает файлы. Он извлекает значения, хранящиеся в свойствах глобального объекта '' navigator' (https://developer.mozilla.org/en-US/docs/Web/API/Window/navigator), которые задаются самим браузером. (Хотя, по крайней мере, [одно из свойств] (https://developer.mozilla.org/en-US/docs/Web/API/NavigatorID/userAgent) больше не гарантировано имеет значение.) –
Oh Понимаю. Это подход java-сценария подхода. Теперь я думаю об обратном ... как бы я узнал, какой браузер я использую, не используя javascript (интернет вообще). Я ищу файл, который инициализирует объект навигатора. Конечно, должен быть файл, который инициализирует объект навигатора в файловой системе, чтобы браузер знал, что это за имя. – sanjihan
Это будет зависеть от браузера и того, как он построен и настроен. Вы можете найти настройки в системах вашей системы (например, в реестре) или в файле конфигурации рядом с исполняемым файлом браузера ('.exe' и т. Д.). Также возможно, что эти значения являются константами, скомпилированными в сам исполняемый файл. –