swfdetect.js
93 lines
| 1.9 KiB
| application/javascript
|
JavascriptLexer
r547 | /* | |||
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"}); | ||||