/** * flashDectect 1.0 * Date: 2008/06/02 */ // Modify the following variables to customize the inspection behaviour. var requiredVersion = 7; // Version the user needs to view site (max 9, min 2) // System globals var flash2Installed = false; // boolean. true if flash 2 is installed var flash3Installed = false; // boolean. true if flash 3 is installed var flash4Installed = false; // boolean. true if flash 4 is installed var flash5Installed = false; // boolean. true if flash 5 is installed var flash6Installed = false; // boolean. true if flash 6 is installed var flash7Installed = false; // boolean. true if flash 7 is installed var flash8Installed = false; // boolean. true if flash 8 is installed var flash9Installed = false; // boolean. true if flash 9 is installed var maxVersion = 9; // highest version that can be detect var actualVersion = 0; // version the user really has var hasRightVersion = false; // boolean. true if it's safe to embed the flash movie in the page var jsVersion = 1.0; // the version of javascript supported // Check the browser... looking for ie/win var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; // true if we're on ie var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; // true if we're on windows // This is a js1.1 code block, so make note that js1.1 is supported. jsVersion = 1.1; // Always assume the right version if we're dealing with IE. There's no way to check the flash version client-side without // tripping the "Active-X Scripting" security option (you have to instantiate the control to get it's version). if(isIE && isWin){ hasRightVersion = true; } // Next comes the standard javascript detection that uses the navigator.plugins array. function detectFlash() { // If navigator.plugins exists... if (navigator.plugins) { // ...then check for flash 2 or flash 3+. if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) { // Some version of Flash was found. // Set convenient references to flash 2 and the plugin description. var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description; // DEBUGGING: uncomment next line to see the actual description. // alert("Flash plugin description: " + flashDescription); // A flash plugin-description looks like this: Shockwave Flash 4.0 r5 // We can get the major version by grabbing the character before the period // note that we don't bother with minor version detection. // Do that in your movie with $version or getVersion(). var flashVersion = parseInt(flashDescription.substring(16)); // We found the version, now set appropriate version flags. Make sure // to use >= on the highest version so we don't prevent future version // users from entering the site. flash2Installed = flashVersion == 2; flash3Installed = flashVersion == 3; flash4Installed = flashVersion == 4; flash5Installed = flashVersion == 5; flash6Installed = flashVersion == 6; flash7Installed = flashVersion == 7; flash8Installed = flashVersion == 8; flash9Installed = flashVersion >= 9; } } // Loop through all versions, and set actualVersion to highest detected version. for (var i = 2; i <= maxVersion; i++) { if (eval("flash" + i + "Installed") == true) actualVersion = i; } // If we're on msntv (formerly webtv), the version supported is 4 (as of January 1, 2004). if(navigator.userAgent.indexOf("WebTV") != -1) actualVersion = 4; // DEBUGGING: uncomment next line to display flash version // alert("version detected: " + actualVersion); // If the user has a required version... if (actualVersion >= requiredVersion) { hasRightVersion = true; } } detectFlash(); // call the detector now that it's safely loaded. function writeFlash(whichMovie, whichWidth, whichHeight, whichImage, alternateText, objectID) { writeFlash(whichMovie, whichWidth, whichHeight, whichImage, alternateText, objectID, null, null, null, null); } function writeFlash(whichMovie, whichWidth, whichHeight, whichImage, alternateText, objectID, parameters, bgcolor, quality, alternateContent) { if(hasRightVersion && whichMovie!=null) { // if we've detected an acceptable version //alert("Flash wird geladen"); var oeTags = '' + '' + '' + (parameters ? '' : '') + '' + '' + '' + (bgcolor!=null ? '' : '') + '' + '' + ''; document.write(oeTags); // embed the flash movie } else { // flash is too old or it can't detect the plugin // NOTE: height, width are required! if(!alternateContent || alternateContent == null) { alternateContent = ''; } document.write(alternateContent); // insert non-flash content } } //document.writeln(''); //document.writeln(''); //+ 'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'