WU/WirtualnaUczelnia_files/Silverlight.supportedUserAgent.js
2018-11-21 15:29:19 +01:00

128 lines
4.4 KiB
JavaScript

///////////////////////////////////////////////////////////////////////////////
//
// Silverlight.supportedUserAgent.js version 2.0.30822.0
//
// This file is provided by Microsoft as a helper file for websites that
// incorporate Silverlight Objects. This file is provided under the Microsoft
// Public License available at
// http://code.msdn.microsoft.com/SLsupportedUA/Project/License.aspx.
// You may not use or distribute this file or the code in this file except as
// expressly permitted under that license.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
///////////////////////////////////////////////////////////////////////////////
if (!window.Silverlight)
{
window.Silverlight = { };
}
///////////////////////////////////////////////////////////////////////////////
//
// supportedUserAgent:
//
// NOTE: This function is strongly tied to current implementations of web
// browsers. The implementation of this function will change over time to
// account for new Web browser developments. Visit
// http://code.msdn.microsoft.com/SLsupportedUA often to ensure that you have
// the latest version.
//
// Determines if the client browser is supported by Silverlight.
//
// params:
// version [string]
// determines if a particular version of Silverlight supports
// this browser. Acceptable values are "1.0" and "2.0"
// userAgent [string]
// optional. User Agent string to be analized. If null then the
// current browsers user agent string will be used.
//
// return value: boolean
//
///////////////////////////////////////////////////////////////////////////////
Silverlight.supportedUserAgent = function(version, userAgent)
{
try
{
var ua = null;
if ( userAgent)
{
ua = userAgent;
}
else
{
ua = window.navigator.userAgent;
}
var slua = {OS:'Unsupported',Browser:'Unsupported'};
//Silverlight does not support pre-Windows NT platforms
if (ua.indexOf('Windows NT') >= 0 || ua.indexOf('Mozilla/4.0 (compatible; MSIE 6.0)')>=0) {
slua.OS = 'Windows';
}
else if (ua.indexOf('PPC Mac OS X') >= 0) {
slua.OS = 'MacPPC';
}
else if (ua.indexOf('Intel Mac OS X') >= 0) {
slua.OS = 'MacIntel';
}
if ( slua.OS != 'Unsupported' )
{
if (ua.indexOf('MSIE') >= 0) {
if (navigator.userAgent.indexOf('Win64') == -1)
{
if (parseInt(ua.split('MSIE')[1]) >= 6) {
slua.Browser = 'MSIE';
}
}
}
else if (ua.indexOf('Firefox') >= 0) {
var versionArr = ua.split('Firefox/')[1].split('.');
var major = parseInt(versionArr[0]);
if (major >= 2) {
slua.Browser = 'Firefox';
}
else {
var minor = parseInt(versionArr[1]);
if ((major == 1) && (minor >= 5)) {
slua.Browser = 'Firefox';
}
}
}
else if (ua.indexOf('Safari') >= 0) {
slua.Browser = 'Safari';
}
}
//detect all unsupported platform combinations (IE on Mac, Safari on Win)
var supUA = (!( slua.OS == 'Unsupported' || //Unsupported OS
slua.Browser == 'Unsupported' || //Unsupported Browser
(slua.OS == 'Windows' && slua.Browser == 'Safari') || //Safari is not supported on Windows
(slua.OS.indexOf('Mac') >= 0 && slua.Browser == 'MSIE') //IE is not supported on Mac
));
if (version=='2.0')
{
//add PPC to unsupported list
return (supUA && (slua.OS != 'MacPPC' ));
}
else if (version == '1.0')
{
//add win2k to unsupported list
return (supUA && ( ua.indexOf('Windows NT 5.0') < 0));
}
else
{
return (supUA);
}
}
catch (e)
{
return false;
}
}