swfdetect.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*
  2. Copyright (c) 2009, Yahoo! Inc. All rights reserved.
  3. Code licensed under the BSD License:
  4. http://developer.yahoo.net/yui/license.txt
  5. version: 2.8.0r4
  6. */
  7. /**
  8. * Utility for Flash version detection
  9. * @namespace YAHOO.util
  10. * @module swfdetect
  11. */
  12. YAHOO.namespace("util");
  13. /**
  14. * Flafh detection utility.
  15. * @class SWFDetect
  16. * @static
  17. */
  18. (function () {
  19. var version = 0;
  20. var uA = YAHOO.env.ua;
  21. var sF = "ShockwaveFlash";
  22. if (uA.gecko || uA.webkit || uA.opera) {
  23. if ((mF = navigator.mimeTypes['application/x-shockwave-flash'])) {
  24. if ((eP = mF.enabledPlugin)) {
  25. var vS = [];
  26. vS = eP.description.replace(/\s[rd]/g, '.').replace(/[A-Za-z\s]+/g, '').split('.');
  27. version = vS[0] + '.';
  28. switch((vS[2].toString()).length)
  29. {
  30. case 1:
  31. version += "00";
  32. break;
  33. case 2:
  34. version += "0";
  35. break;
  36. }
  37. version += vS[2];
  38. version = parseFloat(version);
  39. }
  40. }
  41. }
  42. else if(uA.ie) {
  43. try
  44. {
  45. var ax6 = new ActiveXObject(sF + "." + sF + ".6");
  46. ax6.AllowScriptAccess = "always";
  47. }
  48. catch(e)
  49. {
  50. if(ax6 != null)
  51. {
  52. version = 6.0;
  53. }
  54. }
  55. if (version == 0) {
  56. try
  57. {
  58. var ax = new ActiveXObject(sF + "." + sF);
  59. var vS = [];
  60. vS = ax.GetVariable("$version").replace(/[A-Za-z\s]+/g, '').split(',');
  61. version = vS[0] + '.';
  62. switch((vS[2].toString()).length)
  63. {
  64. case 1:
  65. version += "00";
  66. break;
  67. case 2:
  68. version += "0";
  69. break;
  70. }
  71. version += vS[2];
  72. version = parseFloat(version);
  73. } catch (e) {}
  74. }
  75. }
  76. uA.flash = version;
  77. YAHOO.util.SWFDetect = {
  78. getFlashVersion : function () {
  79. return version;
  80. },
  81. isFlashVersionAtLeast : function (ver) {
  82. return version >= ver;
  83. }
  84. };
  85. })();
  86. YAHOO.register("swfdetect", YAHOO.util.SWFDetect, {version: "2.8.0r4", build: "2449"});