SitePoint Sponsor

User Tag List

Results 1 to 23 of 23
  1. #1
    SitePoint Member
    Join Date
    Dec 2012
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    How do I solve Flash Incompatibility Issue

    Hi, I have a website designed in HTML and CSS. It uses flash images to display jpeg files. this has been working fine since 2009 up until 2 weeks ago when i updated the images in the xml file. Now there is an inconsistency on who can and cannot view the images, most users visiting the site get a blank box.. not good.. anyone advise on how I can get this resolved so that all users see the files. I have been told that it is a flash incompatibility issue and a problem with the flash settings? please help someone... thanks so much

  2. #2
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,359
    Mentioned
    179 Post(s)
    Tagged
    9 Thread(s)
    Hi there,

    I don't know much about Flash, but if you can post a link, then I don't mind having a look for you.

  3. #3
    SitePoint Member
    Join Date
    Dec 2012
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    thanks,
    I have found a file in the scripts directory: see code below.. maybe this needs updating or running?
    Code:
    //v1.7
    // Flash Player Version Detection
    // Detect Client Browser type
    // Copyright 2005-2007 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;
    }
    Last edited by TechnoBear; Dec 5, 2012 at 13:44. Reason: Code tags added

  4. #4
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,359
    Mentioned
    179 Post(s)
    Tagged
    9 Thread(s)
    Quote Originally Posted by dawnalldread View Post
    thanks, I have found a file in the scripts directory: see code below.. maybe this needs updating or running?
    Maybe (it is quite old), but what I meant was could you post a link to the site where I can see the problem?

  5. #5
    SitePoint Member
    Join Date
    Dec 2012
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

  6. #6
    SitePoint Member
    Join Date
    Dec 2012
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    thankyou.

  7. #7
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,359
    Mentioned
    179 Post(s)
    Tagged
    9 Thread(s)
    Howdy,

    So, the code on your website, being used to display the slide show is this:

    Code:
    <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/ swflash.cab#version=7,0,0,0" WIDTH="256" HEIGHT="200" id="slidesimple" ALIGN=""> 
      <PARAM NAME=movie VALUE="slidesimple.swf?xmlUrl=oldsubimages.xml"> 
      <PARAM NAME=loop VALUE=false> 
      <PARAM NAME=menu VALUE=false> 
      <PARAM NAME=quality VALUE=high><param name="BGCOLOR" value="#2E2C22" /> 
      <EMBED src="slidesimple.swf?xmlUrl=oldsubimages.xml" 
                 WIDTH="256" 
                 HEIGHT="200" 
                 loop="false" 
                 menu="false" 
                 quality="high" 
                 TYPE="application/x-shockwave-flash" 
                 PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" bgcolor="#2E2C22">
      </EMBED> 
    </OBJECT>
    As you can see, the player is called "slidesimple.swf" and you are passing it (presumably) a list of pictures it should display in an xml file.

    Can you please check that the xml file actually exists.
    In all of the examples I found on the web, they are using the full url, something like: src="slidesimple.swf?xmlUrl=http://www.transformaspace.co.uk/oldsubimages.xml"

    Let me know if that helps

  8. #8
    Community Advisor silver trophy

    Join Date
    Nov 2006
    Location
    UK
    Posts
    2,521
    Mentioned
    37 Post(s)
    Tagged
    1 Thread(s)
    I looked at the page via an http monitor you get a 404 on http://www.transformaspace.co.uk/oldsubimages.xml

  9. #9
    SitePoint Member
    Join Date
    Dec 2012
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi,yes there are two xml files that previously loaded on each page. The oldsubimages.xml does not exist now as this was removed, but if we look lower down in the code the xml file that contains the images that display at the top of each page in a window do not show. the snapshot below shows the bit of code relative to each of these. I have checked on the server and the .xml file is located in the public folder, the html file is located in the public folder and the jpegs that are referred to in each xml file are located in the public/flashimages folder. thanks for your help so far.

    html file
    HTML Code:
    PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" bgcolor="#2E2C22"></EMBED> 
    </OBJECT></td>
          </tr>
        </table>
        
        
        </div>
      
     
      
      
      <div id="maincopy">
        <p class="mainheaders">Modern Temporary Structures with Fabric or Solid Roof</p>
        <table width="576" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="587" height="200"><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
    codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/ 
    swflash.cab#version=7,0,0,0" 
     WIDTH="587" HEIGHT="200" id="slidesimple" ALIGN=""> 
     <PARAM NAME=movie VALUE="slidesimple.swf?xmlUrl=newindeximages1.xml"> 
     <PARAM NAME=loop VALUE=false> 
     <PARAM NAME=menu VALUE=false> 
     <PARAM NAME=quality VALUE=high> 
     <PARAM NAME=bgcolor VALUE=#ffffff> 
     <EMBED src="slidesimple.swf?xmlUrl=newindeximages1.xml" 
     
     loop="false" 
     
     menu="false" 
     
     quality="high" 
     
     bgcolor="#FFFFFF" 
     
     WIDTH="587" 
     
     HEIGHT="200" 
     
     TYPE="application/x-shockwave-flash" 
    
     PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED> 
    </OBJECT></td>
          </tr>
    
    associated xml file newindeximages1.xml
    
    <diaporama ordre="sequential" fadeTime="10" diapoInterval="4" fontSize="10" alignement="center" echelle="true" >
    <image url="flashimages/warehouse1.jpg"/>
    <image url="flashimages/warehouse5.jpg"/>
    <image url="flashimages/warehouse7.jpg"/>
    <image url="flashimages/image17.jpg"/>
    <image url="flashimages/image36.jpg"/>
    <image url="flashimages/images42.jpg"/>
    <image url="flashimages/images45.jpg"/>
    <image url="flashimages/image23.jpg"/>
    <image url="flashimages/images31.jpg"/>
    <image url="flashimages/images32.jpg"/>
    <image url="flashimages/doublewarehouse.jpg"/>
    <image url="flashimages/doublewarehouse2.jpg"/>
    <image url="flashimages/sport2.jpg"/>
    
    </diaporama>
    Last edited by ScallioXTX; Dec 6, 2012 at 04:17.

  10. #10
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,359
    Mentioned
    179 Post(s)
    Tagged
    9 Thread(s)
    Hi there,

    Yup, you're right. I was looking at the wrong version.
    In the version you point to, all the assets are there and everything is as it should be.

    So, I tried updating everything, re-embedding the slide show with more modern code, downloading the latest version of slidesimple form Github (here: https://github.com/cgodefroy/SlideSimple-Flash) and I'm sorry to report that this plugin appears to be broken in all modern browsers. It's nothing to do with your code - the examples from GitHub didn't work either!!

    However, there are so many image sliders available today (which don't rely on Flash) maybe it would be a good idea to implement one of those instead.
    What do you think?
    I could help you do that if you like.

  11. #11
    SitePoint Member
    Join Date
    Dec 2012
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi Pullo, many thanks for your efforts, greatly appreciated. If you could help me that would be great, If you can advise what code I need to change then I can do the other pages. What would need to be done?

    warmest regards

  12. #12
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,359
    Mentioned
    179 Post(s)
    Tagged
    9 Thread(s)
    Hi Dawn,

    The first thing to do is to find a plugin that looks and behaves similarly to the one you had.
    Here is a very extensive list: http://www.tripwiremagazine.com/2012...ry-slider.html

    Most of the plugins listed have demo pages, so hopefully you van find one that suits your needs.
    When you've done that, let me know.

  13. #13
    SitePoint Member
    Join Date
    Dec 2012
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi

    I have taken a look, they are really great. just want the simplest of sliders and one thats free. how about galleria
    just want something would this be an easy choice?

  14. #14
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,359
    Mentioned
    179 Post(s)
    Tagged
    9 Thread(s)
    Good choice.
    I've got to pop out for a bit now, but leave it with me and I'll get back to you soon.

  15. #15
    SitePoint Member
    Join Date
    Dec 2012
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    many thanks.

  16. #16
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,359
    Mentioned
    179 Post(s)
    Tagged
    9 Thread(s)
    So, I managed to throw a quick demo together: http://hibbard.eu/blog/pages/galleria/
    Is this the sort of thing you are after?
    Galleria is very configurable, so if there is anything you would like to change, just let me know.

    I'm off out now.
    If you like what I've done, I can send you the files when I get back.

  17. #17
    SitePoint Member
    Join Date
    Dec 2012
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hello Pullo,

    This is great thanks so much. Nice and simple and will get me over the issue with flash. I really appreciate your help

    regards

    Dawn

  18. #18
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,359
    Mentioned
    179 Post(s)
    Tagged
    9 Thread(s)
    No problem

  19. #19
    SitePoint Member
    Join Date
    Dec 2012
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hello Pullo

    Hope you had a good weekend. Would you be able to advise how I modify the code to get the slide functionality you have done in the example.

    many thanks

    Regards

    Dawn

  20. #20
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,359
    Mentioned
    179 Post(s)
    Tagged
    9 Thread(s)
    Hi Dawn,

    Yeah no problem.
    Wouldn't it be easier though if I just zip the files up and send them to you via mail?

    If so, then send me your email address in a PM.
    Otherwise let me know what you want to modify and we can discuss it here.

    Both is fine

  21. #21
    SitePoint Member
    Join Date
    Dec 2012
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi

    I wanted to remove the code that refers to the flash element of each html page (see above) on the site that calls the images and replace it with the new bit you have done. this should fix the compatibility issue I guess. I am not sure what will need to be done to each page to make it run with the new functionality, so am happy to take the steer from you. I can either update the code manually or you can send me the files. I can send you my email - what is PM?

    cheers

    Dawn

  22. #22
    SitePoint Member
    Join Date
    Dec 2012
    Posts
    22
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi

    realised what PM was... have sent it to you

    thanks

    Dawn

  23. #23
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,359
    Mentioned
    179 Post(s)
    Tagged
    9 Thread(s)
    Hi there,

    So I just sent you all the files you'll need to implement this.
    What you'll need to do, is to remove everything within and including the <object> tags on your page and replace it with the code I sent you.
    You'll also need to reference the correct JavaScript files, but hopefully you can see what needs to be done from what I've sent you.

    If you get stuck, just let me know.


Bookmarks

Posting Permissions

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