/****************************************************************************** (C) Mauma SA, 2006 // Flash Version Detector 1.0 Terms of use: You are free to use this script as long as the copyright message is kept intact. However, you may not redistribute, sell or repost it without our permission. http://www.maunaloa.it Mauma SA ******************************************************************************/ // ---------------------------------------------------------------------------- // Globals // Major version of Flash required var requiredMajorVersion = 6; // Minor version of Flash required var requiredMinorVersion = 0; // Minor revision of Flash required var requiredRevision = 0; // ---------------------------------------------------------------------------- // Other Browsers Detector v1.0 // code by Federico Boldrini var isFirefox = ( navigator.userAgent.toLowerCase ( ).indexOf ( "firefox" ) != -1 ) ? true : false; /* // Unsupported browsers.... till now... var isWin2000 = ( ( navigator.userAgent.indexOf ( "winnt" ) != -1 ) || (navigator.userAgent.indexOf ( "windows nt 5.0" ) != -1 ) ) ? true : false; var isWinXP = ( ( navigator.userAgent.indexOf ( "winnt" ) != -1 ) || (navigator.userAgent.indexOf ( "windows nt 5.1" ) != -1 ) ) ? true : false; var isMac = ( navigator.userAgent.indexOf ( "Mac" ) != -1 ) ? true : false; var isIE4 = ( ( navigator.userAgent.toLowerCase ( ).indexOf ( "msie" ) != -1 ) && ( navigator.appName.indexOf ( "4.0;" ) != -1 ) ) ? true : false; var isWebTV26 = ( navigator.userAgent.toLowerCase ( ).indexOf ( "webtv/2.6" ) != 1 ) ? true : false; var isWebTV25 = ( navigator.userAgent.toLowerCase ( ).indexOf ( "webtv/2.5" ) != 1 ) ? true : false; var isWebTV = ( navigator.userAgent.toLowerCase ( ).indexOf ( "webtv" ) != 1 ) ? true : false; var isSafari = ( navigator.userAgent.toLowerCase ( ).indexOf ( "safari" ) != 1 ) ? true : false; var isiCab = ( navigator.userAgent.toLowerCase ( ).indexOf ( "icab" ) != 1 ) ? true : false; var isNetscape6 = ( !document.all && !document.layers && navigator.appName == "Netscape" && parseInt ( navigator.appVersion ) >=5 ) ? true : false; var isNetscape = ( navigator.userAgent.indexOf ( "Mozilla" ) != -1 && navigator.userAgent.indexOf ( "4." ) != -1) ? true : false; */ // Thanks to Macromedia for this code // Detect Client Browser type var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false; // JavaScript helper required to detect Flash Player PlugIn version information function JSGetSwfVer(i){ // NS/Opera version >= 3 check for Flash plugin in plugin array if (navigator.plugins != null && navigator.plugins.length > 0) { if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) { var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description; descArray = flashDescription.split(" "); tempArrayMajor = descArray[2].split("."); versionMajor = tempArrayMajor[0]; versionMinor = tempArrayMajor[1]; if ( descArray[3] != "" ) { tempArrayMinor = descArray[3].split("r"); } else { tempArrayMinor = descArray[4].split("r"); } versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0; flashVer = versionMajor + "." + versionMinor + "." + versionRevision; } else { flashVer = -1; } } // MSN/WebTV 2.6 supports Flash 4 else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4; // WebTV 2.5 supports Flash 3 else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3; // older WebTV supports Flash 2 else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2; // Can't detect in all other cases else { flashVer = -1; } return flashVer; } // When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) { reqVer = parseFloat(reqMajorVer + "." + reqRevision); // loop backwards through the versions until we find the newest version for (i=25;i>0;i--) { if (isIE && isWin && !isOpera) { versionStr = VBGetSwfVer(i); } else { versionStr = JSGetSwfVer(i); } if (versionStr == -1 ) { return false; } else if (versionStr != 0) { if(isIE && isWin && !isOpera) { tempArray = versionStr.split(" "); tempString = tempArray[1]; versionArray = tempString .split(","); } else { versionArray = versionStr.split("."); } versionMajor = versionArray[0]; versionMinor = versionArray[1]; versionRevision = versionArray[2]; versionString = versionMajor + "." + versionRevision; // 7.0r24 == 7.24 versionNum = parseFloat(versionString); // is the major.revision >= requested major.revision AND the minor version >= requested minor if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) { return true; } else { return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false ); } } } }