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

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.

thanks,
I have found a file in the scripts directory: see code below… maybe this needs updating or running?

//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;
}

Maybe (it is quite old), but what I meant was could you post a link to the site where I can see the problem?

www.transformaspace.co.uk

thankyou.

Howdy,

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

<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

I looked at the page via an http monitor you get a 404 on http://www.transformaspace.co.uk/oldsubimages.xml

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

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>

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.

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

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/11/jquery-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.

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?

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.

many thanks.

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.

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

No problem :slight_smile:

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

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 :slight_smile: