6 Replies Latest reply on Jun 28, 2009 4:17 PM by Ned Murphy

    flash button bar duplicating

    tarbhead

      Help, I am a newbie and cannot figure out where I went wrong.  I created a button bar with 6 buttons that display separate content.  When I click on one of my buttons, it brings up the content alright, but on release creates an entire duplicate set of buttons on top of my existing set of buttons.  I can click on another button, and it will diplay content okay, but add yet another set of buttons on top of itself.  after 2 buttons it basically freezes.  why are my buttons in essence copying itself, and how can i correct.

        • 1. Re: flash button bar duplicating
          Ned Murphy Adobe Community Professional & MVP

          You'll need to show what code is assigned for interacting with the buttons.

          • 2. Re: flash button bar duplicating
            tarbhead Level 1

            here is the source code:

             

            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
            <head>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <title>instrument buttons</title>
            <script language="JavaScript" type="text/javascript">
            <!--
            //v1.7
            // Flash Player Version Detection
            // Detect Client Browser type
            // Copyright 2005-2008 Adobe Systems Incorporated.  All rights reserved.
            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;
            function ControlVersion()
            {
                 var version;
                 var axo;
                 var e;
                 // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
                 try {
                      // version will be set for 7.X or greater players
                      axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
                      version = axo.GetVariable("$version");
                 } catch (e) {
                 }
                 if (!version)
                 {
                      try {
                           // version will be set for 6.X players only
                           axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
                           
                           // installed player is some revision of 6.0
                           // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
                           // so we have to be careful. 
                           
                           // default to the first public version
                           version = "WIN 6,0,21,0";
                           // throws if AllowScripAccess does not exist (introduced in 6.0r47)          
                           axo.AllowScriptAccess = "always";
                           // safe to call for 6.0r47 or greater
                           version = axo.GetVariable("$version");
                      } catch (e) {
                      }
                 }
                 if (!version)
                 {
                      try {
                           // version will be set for 4.X or 5.X player
                           axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
                           version = axo.GetVariable("$version");
                      } catch (e) {
                      }
                 }
                 if (!version)
                 {
                      try {
                           // version will be set for 3.X player
                           axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
                           version = "WIN 3,0,18,0";
                      } catch (e) {
                      }
                 }
                 if (!version)
                 {
                      try {
                           // version will be set for 2.X player
                           axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
                           version = "WIN 2,0,0,11";
                      } catch (e) {
                           version = -1;
                      }
                 }
                 
                 return version;
            }
            // JavaScript helper required to detect Flash Player PlugIn version information
            function GetSwfVer(){
                 // NS/Opera version >= 3 check for Flash plugin in plugin array
                 var flashVer = -1;
                 
                 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;
                           var descArray = flashDescription.split(" ");
                           var tempArrayMajor = descArray[2].split(".");               
                           var versionMajor = tempArrayMajor[0];
                           var versionMinor = tempArrayMajor[1];
                           var versionRevision = descArray[3];
                           if (versionRevision == "") {
                                versionRevision = descArray[4];
                           }
                           if (versionRevision[0] == "d") {
                                versionRevision = versionRevision.substring(1);
                           } else if (versionRevision[0] == "r") {
                                versionRevision = versionRevision.substring(1);
                                if (versionRevision.indexOf("d") > 0) {
                                     versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
                                }
                           }
                           var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
                      }
                 }
                 // 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;
                 else if ( isIE && isWin && !isOpera ) {
                      flashVer = ControlVersion();
                 }     
                 return flashVer;
            }
            // When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
            function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
            {
                 versionStr = GetSwfVer();
                 if (versionStr == -1 ) {
                      return false;
                 } else if (versionStr != 0) {
                      if(isIE && isWin && !isOpera) {
                           // Given "WIN 2,0,0,11"
                           tempArray         = versionStr.split(" ");      // ["WIN", "2,0,0,11"]
                           tempString        = tempArray[1];               // "2,0,0,11"
                           versionArray      = tempString.split(",");     // ['2', '0', '0', '11']
                      } else {
                           versionArray      = versionStr.split(".");
                      }
                      var versionMajor      = versionArray[0];
                      var versionMinor      = versionArray[1];
                      var versionRevision   = versionArray[2];
                         // is the major.revision >= requested major.revision AND the minor version >= requested minor
                      if (versionMajor > parseFloat(reqMajorVer)) {
                           return true;
                      } else if (versionMajor == parseFloat(reqMajorVer)) {
                           if (versionMinor > parseFloat(reqMinorVer))
                                return true;
                           else if (versionMinor == parseFloat(reqMinorVer)) {
                                if (versionRevision >= parseFloat(reqRevision))
                                     return true;
                           }
                      }
                      return false;
                 }
            }
            function AC_AddExtension(src, ext)
            {
              if (src.indexOf('?') != -1)
                return src.replace(/\?/, ext+'?'); 
              else
                return src + ext;
            }
            function AC_Generateobj(objAttrs, params, embedAttrs) 
            { 
              var str = '';
              if (isIE && isWin && !isOpera)
              {
                str += '<object ';
                for (var i in objAttrs)
                {
                  str += i + '="' + objAttrs[i] + '" ';
                }
                str += '>';
                for (var i in params)
                {
                  str += '<param name="' + i + '" value="' + params[i] + '" /> ';
                }
                str += '</object>';
              }
              else
              {
                str += '<embed ';
                for (var i in embedAttrs)
                {
                  str += i + '="' + embedAttrs[i] + '" ';
                }
                str += '> </embed>';
              }
              document.write(str);
            }
            function AC_FL_RunContent(){
              var ret = 
                AC_GetArgs
                (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
                 , "application/x-shockwave-flash"
                );
              AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
            }
            function AC_SW_RunContent(){
              var ret = 
                AC_GetArgs
                (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
                 , null
                );
              AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
            }
            function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
              var ret = new Object();
              ret.embedAttrs = new Object();
              ret.params = new Object();
              ret.objAttrs = new Object();
              for (var i=0; i < args.length; i=i+2){
                var currArg = args[i].toLowerCase();    
                switch (currArg){     
                  case "classid":
                    break;
                  case "pluginspage":
                    ret.embedAttrs[args[i]] = args[i+1];
                    break;
                  case "src":
                  case "movie":     
                    args[i+1] = AC_AddExtension(args[i+1], ext);
                    ret.embedAttrs["src"] = args[i+1];
                    ret.params[srcParamName] = args[i+1];
                    break;
                  case "onafterupdate":
                  case "onbeforeupdate":
                  case "onblur":
                  case "oncellchange":
                  case "onclick":
                  case "ondblclick":
                  case "ondrag":
                  case "ondragend":
                  case "ondragenter":
                  case "ondragleave":
                  case "ondragover":
                  case "ondrop":
                  case "onfinish":
                  case "onfocus":
                  case "onhelp":
                  case "onmousedown":
                  case "onmouseup":
                  case "onmouseover":
                  case "onmousemove":
                  case "onmouseout":
                  case "onkeypress":
                  case "onkeydown":
                  case "onkeyup":
                  case "onload":
                  case "onlosecapture":
                  case "onpropertychange":
                  case "onreadystatechange":
                  case "onrowsdelete":
                  case "onrowenter":
                  case "onrowexit":
                  case "onrowsinserted":
                  case "onstart":
                  case "onscroll":
                  case "onbeforeeditfocus":
                  case "onactivate":
                  case "onbeforedeactivate":
                  case "ondeactivate":
                  case "type":
                  case "codebase":
                  case "id":
                    ret.objAttrs[args[i]] = args[i+1];
                    break;
                  case "width":
                  case "height":
                  case "align":
                  case "vspace": 
                  case "hspace":
                  case "class":
                  case "title":
                  case "accesskey":
                  case "name":
                  case "tabindex":
                    ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
                    break;
                  default:
                    ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
                }
              }
              ret.objAttrs["classid"] = classid;
              if (mimeType) ret.embedAttrs["type"] = mimeType;
              return ret;
            }
            // -->
            </script>
            </head>
            <body bgcolor="#003300">
            <!--url's used in the movie-->
            <!--text used in the movie-->
            <!-- saved from url=(0013)about:internet -->
            <script language="JavaScript" type="text/javascript">
                 AC_FL_RunContent(
                      'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
                      'width', '800',
                      'height', '150',
                      'src', 'instrument buttons',
                      'quality', 'high',
                      'pluginspage', 'http://www.adobe.com/go/getflashplayer',
                      'align', 'middle',
                      'play', 'true',
                      'loop', 'true',
                      'scale', 'showall',
                      'wmode', 'window',
                      'devicefont', 'false',
                      'id', 'instrument buttons',
                      'bgcolor', '#003300',
                      'name', 'instrument buttons',
                      'menu', 'true',
                      'allowFullScreen', 'false',
                      'allowScriptAccess','sameDomain',
                      'movie', 'instrument buttons',
                      'salign', ''
                      ); //end AC code
            </script>
            <noscript>
                 <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="800" height="150" id="instrument buttons" align="middle">
                 <param name="allowScriptAccess" value="sameDomain" />
                 <param name="allowFullScreen" value="false" />
                 <param name="movie" value="instrument buttons.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#003300" />     <embed src="instrument buttons.swf" quality="high" bgcolor="#003300" width="800" height="150" name="instrument buttons" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
                 </object>
            </noscript>
            </body>
            </html>

            • 3. Re: flash button bar duplicating
              Ned Murphy Adobe Community Professional & MVP

              The button code will be in the Flashsource file, not the html file...  instrument buttons.fla

               

              Note: You shouldn't name any file you plan to place on the web with spaces in the name... use underscores if you need to, but avoid blank spaces (example: instrument_buttons.fla)

              • 4. Re: flash button bar duplicating
                tarbhead Level 1

                thanks for the underscore tip.  I will definitely eliminate spaces from now on. this is a really stupid question, but how do i view the code in the .fla file.  I have it open in flash, but cannot figure out how to see code to paste here.  boy, does this question scream newbie or what?.

                • 5. Re: flash button bar duplicating
                  Ned Murphy Adobe Community Professional & MVP

                  It screams that you didn't create whatever that button panel is (or maybe you used the script assist feature???)... You would have to have coded the buttons in order for them to work at all.  To view the code you need to have the Actions panel open (Window -> Actions), and then select frames in the timeline that have little "a"s in them or click on the buttons if there's no little "A"'s in the timeline..

                  • 6. Re: flash button bar duplicating
                    tarbhead Level 1

                    Nevermind.  I figured out my issue.  I had an extra group of buttons on top of the orignals in the "content" layer.  thanks for you help.