mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update browser info
This commit is contained in:
parent
31a5eef8bc
commit
f38551b878
1 changed files with 7 additions and 70 deletions
|
@ -1779,6 +1779,7 @@ var AppInfo = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
var apiClientBowerPath = bowerPath + "/emby-apiclient";
|
var apiClientBowerPath = bowerPath + "/emby-apiclient";
|
||||||
|
var embyWebComponentsBowerPath = bowerPath + '/emby-webcomponents';
|
||||||
|
|
||||||
var paths = {
|
var paths = {
|
||||||
velocity: bowerPath + "/velocity/velocity.min",
|
velocity: bowerPath + "/velocity/velocity.min",
|
||||||
|
@ -1801,6 +1802,8 @@ var AppInfo = {};
|
||||||
credentialprovider: apiClientBowerPath + '/credentials',
|
credentialprovider: apiClientBowerPath + '/credentials',
|
||||||
apiclient: apiClientBowerPath + '/apiclient',
|
apiclient: apiClientBowerPath + '/apiclient',
|
||||||
connectionmanagerfactory: apiClientBowerPath + '/connectionmanager',
|
connectionmanagerfactory: apiClientBowerPath + '/connectionmanager',
|
||||||
|
browserdeviceprofile: embyWebComponentsBowerPath + "/browserdeviceprofile",
|
||||||
|
browser: embyWebComponentsBowerPath + "/browser",
|
||||||
connectservice: apiClientBowerPath + '/connectservice'
|
connectservice: apiClientBowerPath + '/connectservice'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2370,78 +2373,11 @@ var AppInfo = {};
|
||||||
return getWebHostingAppInfo();
|
return getWebHostingAppInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
function setBrowserInfo(isMobile) {
|
|
||||||
|
|
||||||
var uaMatch = function (ua) {
|
|
||||||
ua = ua.toLowerCase();
|
|
||||||
|
|
||||||
var match = /(edge)[ \/]([\w.]+)/.exec(ua) ||
|
|
||||||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
|
|
||||||
/(opr)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
|
|
||||||
/(chrome)[ \/]([\w.]+)/.exec(ua) ||
|
|
||||||
/(safari)[ \/]([\w.]+)/.exec(ua) ||
|
|
||||||
/(msie) ([\w.]+)/.exec(ua) ||
|
|
||||||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
|
|
||||||
[];
|
|
||||||
|
|
||||||
var platform_match = /(ipad)/.exec(ua) ||
|
|
||||||
/(iphone)/.exec(ua) ||
|
|
||||||
/(android)/.exec(ua) ||
|
|
||||||
[];
|
|
||||||
|
|
||||||
var browser = match[1] || "";
|
|
||||||
|
|
||||||
if (ua.indexOf("windows phone") != -1 || ua.indexOf("iemobile") != -1) {
|
|
||||||
|
|
||||||
// http://www.neowin.net/news/ie11-fakes-user-agent-to-fool-gmail-in-windows-phone-81-gdr1-update
|
|
||||||
browser = "msie";
|
|
||||||
}
|
|
||||||
else if (ua.indexOf("like gecko") != -1 && ua.indexOf('webkit') == -1 && ua.indexOf('opera') == -1 && ua.indexOf('chrome') == -1 && ua.indexOf('safari') == -1) {
|
|
||||||
browser = "msie";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (browser == 'opr') {
|
|
||||||
browser = 'opera';
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
browser: browser,
|
|
||||||
version: match[2] || "0",
|
|
||||||
platform: platform_match[0] || ""
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
var userAgent = window.navigator.userAgent;
|
|
||||||
var matched = uaMatch(userAgent);
|
|
||||||
var browser = {};
|
|
||||||
|
|
||||||
if (matched.browser) {
|
|
||||||
browser[matched.browser] = true;
|
|
||||||
browser.version = matched.version;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (matched.platform) {
|
|
||||||
browser[matched.platform] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!browser.chrome && !browser.msie && !browser.edge && !browser.opera && userAgent.toLowerCase().indexOf("webkit") != -1) {
|
|
||||||
browser.safari = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isMobile.any) {
|
|
||||||
browser.mobile = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
browser.animate = document.documentElement.animate != null;
|
|
||||||
|
|
||||||
window.browserInfo = browser;
|
|
||||||
}
|
|
||||||
|
|
||||||
initRequire();
|
initRequire();
|
||||||
|
|
||||||
var initialDependencies = [];
|
var initialDependencies = [];
|
||||||
|
|
||||||
initialDependencies.push('isMobile');
|
initialDependencies.push('browser');
|
||||||
initialDependencies.push('apiclient-store');
|
initialDependencies.push('apiclient-store');
|
||||||
initialDependencies.push('scripts/extensions');
|
initialDependencies.push('scripts/extensions');
|
||||||
|
|
||||||
|
@ -2455,7 +2391,9 @@ var AppInfo = {};
|
||||||
initialDependencies.push('native-promise-only');
|
initialDependencies.push('native-promise-only');
|
||||||
}
|
}
|
||||||
|
|
||||||
require(initialDependencies, function (isMobile) {
|
require(initialDependencies, function (browser) {
|
||||||
|
|
||||||
|
window.browserInfo = browser;
|
||||||
|
|
||||||
function onWebComponentsReady() {
|
function onWebComponentsReady() {
|
||||||
|
|
||||||
|
@ -2469,7 +2407,6 @@ var AppInfo = {};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
setBrowserInfo(isMobile);
|
|
||||||
setAppInfo();
|
setAppInfo();
|
||||||
setDocumentClasses();
|
setDocumentClasses();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue