93 lines
1.9 KiB
JavaScript
93 lines
1.9 KiB
JavaScript
/*
|
|
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
|
|
Code licensed under the BSD License:
|
|
http://developer.yahoo.net/yui/license.txt
|
|
version: 2.8.0r4
|
|
*/
|
|
/**
|
|
* Utility for Flash version detection
|
|
* @namespace YAHOO.util
|
|
* @module swfdetect
|
|
*/
|
|
YAHOO.namespace("util");
|
|
|
|
/**
|
|
* Flafh detection utility.
|
|
* @class SWFDetect
|
|
* @static
|
|
*/
|
|
(function () {
|
|
|
|
var version = 0;
|
|
var uA = YAHOO.env.ua;
|
|
var sF = "ShockwaveFlash";
|
|
|
|
if (uA.gecko || uA.webkit || uA.opera) {
|
|
if ((mF = navigator.mimeTypes['application/x-shockwave-flash'])) {
|
|
if ((eP = mF.enabledPlugin)) {
|
|
var vS = [];
|
|
vS = eP.description.replace(/\s[rd]/g, '.').replace(/[A-Za-z\s]+/g, '').split('.');
|
|
version = vS[0] + '.';
|
|
switch((vS[2].toString()).length)
|
|
{
|
|
case 1:
|
|
version += "00";
|
|
break;
|
|
case 2:
|
|
version += "0";
|
|
break;
|
|
}
|
|
version += vS[2];
|
|
version = parseFloat(version);
|
|
}
|
|
}
|
|
}
|
|
else if(uA.ie) {
|
|
try
|
|
{
|
|
var ax6 = new ActiveXObject(sF + "." + sF + ".6");
|
|
ax6.AllowScriptAccess = "always";
|
|
}
|
|
catch(e)
|
|
{
|
|
if(ax6 != null)
|
|
{
|
|
version = 6.0;
|
|
}
|
|
}
|
|
if (version == 0) {
|
|
try
|
|
{
|
|
var ax = new ActiveXObject(sF + "." + sF);
|
|
var vS = [];
|
|
vS = ax.GetVariable("$version").replace(/[A-Za-z\s]+/g, '').split(',');
|
|
version = vS[0] + '.';
|
|
switch((vS[2].toString()).length)
|
|
{
|
|
case 1:
|
|
version += "00";
|
|
break;
|
|
case 2:
|
|
version += "0";
|
|
break;
|
|
}
|
|
version += vS[2];
|
|
version = parseFloat(version);
|
|
|
|
} catch (e) {}
|
|
}
|
|
}
|
|
|
|
uA.flash = version;
|
|
|
|
YAHOO.util.SWFDetect = {
|
|
getFlashVersion : function () {
|
|
return version;
|
|
},
|
|
|
|
isFlashVersionAtLeast : function (ver) {
|
|
return version >= ver;
|
|
}
|
|
};
|
|
})();
|
|
YAHOO.register("swfdetect", YAHOO.util.SWFDetect, {version: "2.8.0r4", build: "2449"});
|