A Flash Developer Resource Site

Results 1 to 5 of 5

Thread: detect flash 8 users

  1. #1
    Junior Member
    Join Date
    Jun 2006
    Posts
    3

    Question detect flash 8 users

    is there a code which detects if the computer has flashplayer 8 installed?

    i made a movie with flash 8, i want the flash 8 users to see the movies. and i want to redirect the flash player 6 users to a www which tells them to download the F8 as to see the movie
    how can i do that?

  2. #2
    Senior Member cancerinform's Avatar
    Join Date
    Mar 2002
    Location
    press the picture...
    Posts
    13,449
    Go to publish settings and select html then check the detect flash player box and publish the movie. that is the simplest solution.
    - The right of the People to create Flash movies shall not be infringed. -

  3. #3
    Member
    Join Date
    Sep 2003
    Location
    UWW
    Posts
    68
    If you would like something more advanced I have code embeded in my html that detects the flash version depending on what I say is the requirement and redirects them accordingly.

    This page will not only detect flash version and redirect to noflash.html (this you can change if you wish). But it will also dynamically expand your flash movie to the size of the window if you want it to. All of these options are shown below.

    Enjoy!

    Code:
    <html>
    
    <head>
    
    <title>Flash Evolved: Glass</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    
     
    
    <!-- © Flash Evolved 2006 -->
    
    
    <script language="JavaScript">
    
    
    
    
    <script language="JavaScript" type="text/javascript">
    <!--
    // -----------------------------------------------------------------------------
    // Globals
    // Major version of Flash required
    var requiredMajorVersion = 8;
    // Minor version of Flash required
    var requiredMinorVersion = 0;
    // Revision of Flash required
    var requiredRevision = 0;
    // the version of javascript supported
    var jsVersion = 1.0;
    // -----------------------------------------------------------------------------
    // -->
    </script>
    <script language="VBScript" type="text/vbscript">
    <!-- // Visual basic helper required to detect Flash Player ActiveX control version information
    Function VBGetSwfVer(i)
      on error resume next
      Dim swControl, swVersion
      swVersion = 0
      
      set swControl = CreateObject("ShockwaveFlash.ShockwaveFlash." + CStr(i))
      if (IsObject(swControl)) then
        swVersion = swControl.GetVariable("$version")
      end if
      VBGetSwfVer = swVersion
    End Function
    // -->
    </script>
    <script language="JavaScript1.1" type="text/javascript">
    <!-- // 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;
    jsVersion = 1.1;
    // 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;
    } 
    // If called with no parameters this function returns a floating point value 
    // which should be the version of the Flash Player or 0.0 
    // ex: Flash Player 7r14 returns 7.14
    // If 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 );	
    			}
    		}
    	}	
    	return (reqVer ? false : 0.0);
    }
    // -->
    </script>
    
    
    </head>
    	
    <BODY bgcolor="#FFFFFF" leftmargin="0" rightmargin="0" topmargin=0 marginheight="0" marginwidth="0">
    <div id="data" style="position:absolute; left:0; top:0;width:720; height:600;visibility:hidden"></div>
    
    <SCRIPT LANGUAGE=JavaScript1.1>
    <!-- Denim Data
    var largeSize = (screen.width >= 2600); 
    var flashWidth = (largeSize) ? "100%" : "100%";
    var flashHeight = (largeSize) ? "100%" : "100%";
    var flashName = "flash.swf";
    
    
    var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
    
    if ( hasRightVersion ) {
    	document.write('<CENTER><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
    	document.write('  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,65,0,0" ');
    	document.write(' ID="Flash" WIDTH="' + flashWidth + '" HEIGHT="' + flashHeight + '" ALIGN="">');
    	document.write(' <PARAM NAME=movie VALUE="' + flashName + '"> <PARAM NAME=loop VALUE=false> <PARAM NAME=menu VALUE=false> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF>  '); 
    	document.write(' <EMBED src="' + flashName + '" loop=false menu=false quality=high bgcolor=#FFFFFF  ');
    	document.write(' swLiveConnect=FALSE WIDTH="' + flashWidth + '" HEIGHT="' + flashHeight + '" NAME="Flash" ID="Flash" ALIGN=""');
    	document.write(' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">');
    	document.write(' </EMBED>');
    	document.write(' </OBJECT></CENTER>');
    } else{
    	window.location="noflash.html";
    }
    
    //-->
    </SCRIPT>
    
    </body></html>
    "the grass isn't greener, you just don't have to mow it."
    www.flashevolved.com

  4. #4
    Junior Member
    Join Date
    Jun 2006
    Posts
    23
    This solution looks great! Just what I've been looking for, because the "built-in" one when you publish doesn't seem to tell the user that they need v8+. Has anyone tested this out yet? It's just that I've never seen a <script> tag for javascript embeded in the <body> before...

  5. #5
    Member
    Join Date
    Jul 2006
    Posts
    34
    That looks good. I'm trying to do something similar.

    I have a window that pops up that's about the right size for my 1344x1008 screen. I don't want it any bigger if the user has a bigger monitor, but some of the navigation isn't visible on smaller screens. Would this code work so the entire window will be visible for smaller monitors, yet stay the same for monitors at least 1000 pixels wide:

    <SCRIPT LANGUAGE=JavaScript1.1>
    <!-- Denim Data -->
    var smallSize = (screen.width <= 1000);
    var flashWidth = (smallSize) ? "90%" : "90%";
    var flashHeight = (largeSize) ? "90%" : "90%";
    var flashName = "flash.swf";
    </script>

    Thanks.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center