mirror of
https://github.com/rstudio/shiny.git
synced 2026-01-10 07:28:01 -05:00
42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
var browser = (function() {
|
|
|
|
var isQt = false;
|
|
// For easy handling of Qt quirks using CSS
|
|
if (/\bQt\//.test(window.navigator.userAgent)) {
|
|
$(document.documentElement).addClass('qt');
|
|
isQt = true;
|
|
}
|
|
|
|
// Enable special treatment for Qt 5 quirks on Linux
|
|
if (/\bQt\/5/.test(window.navigator.userAgent) &&
|
|
/Linux/.test(window.navigator.userAgent)) {
|
|
$(document.documentElement).addClass('qt5');
|
|
}
|
|
|
|
// Detect IE and older (pre-Chromium) Edge
|
|
var ua = window.navigator.userAgent;
|
|
var isIE = /MSIE|Trident|Edge/.test(ua);
|
|
|
|
function getIEVersion() {
|
|
var msie = ua.indexOf('MSIE ');
|
|
if (isIE && msie > 0) {
|
|
// IE 10 or older => return version number
|
|
return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
|
|
}
|
|
var trident = ua.indexOf('Trident/');
|
|
if (trident > 0) {
|
|
// IE 11 => return version number
|
|
var rv = ua.indexOf('rv:');
|
|
return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
return {
|
|
isQt: isQt,
|
|
isIE: isIE,
|
|
IEVersion: getIEVersion()
|
|
};
|
|
|
|
})();
|