Solved

Embedding Flash in HTML page with flash version detection

Posted on 2008-06-19
1
1,307 Views
Last Modified: 2008-06-19
Hi - I want to embed a flash movie in a page below a banner image and use flash detection.  I have output the HTML from Flash Professional 8 with version detection script in it.  This detects the version and if its acceptable uses document.write to output the embed/object tags for the movie.  This is in script tags in the body of the HTML document.  I have tried enclosing the script tags in a div tag and then placing another div tag above the script tag with the img tag for the banner image in it.  This works fine in Firefox but when I open it in IE7 I get a thin stretched banner image and a thin stretched flash movie.
I attach the html code below.  Can you help?
<!-- saved from url=(0013)about:internet -->

<html lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>paccs</title>

<script type="text/javascript" src="script/jquery-1.2.6.min.js"></script>

<script type="text/javascript" src="script/pxToEm.js"></script>

<script type="text/javascript" src="script/MVC_paccs.js"></script>

<link rel="stylesheet" href="style/style.css" type="text/css" media="screen, projection" />

<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="#87aec5">

<!--url's used in the movie-->

<!--text used in the movie-->

<div id="all_contents">

	<div id="img_banner" >

		<img src="images/bannerbevel.gif" height=100% width=100%></img>

	</div>

	<div id="flash">

<script language="JavaScript" type="text/javascript">

<!-- 

var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

if(hasRightVersion) {  // if we've detected an acceptable version

    var oeTags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'

    + 'width="100%" height="100%"'

    + 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'

    + '<param name="movie" value="paccs.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#87aec5" />'

    + '<embed src="paccs.swf" quality="high" bgcolor="#87aec5" '

    + 'width="100%" height="100%" name="paccs" align="middle"'

    + 'play="true"'

    + 'loop="false"'

    + 'quality="high"'

    + 'allowScriptAccess="sameDomain"'

    + 'type="application/x-shockwave-flash"'

    + 'pluginspage="http://www.macromedia.com/go/getflashplayer">'

    + '<\/embed>'

    + '<\/object>';

    document.write(oeTags);   // embed the flash movie

  } else {  // flash is too old or we can't detect the plugin

    var alternateContent = 'Alternate HTML content should be placed here.'

  	+ 'This content requires the Macromedia Flash Player.'

   	+ '<a href=http://www.macromedia.com/go/getflash/>Get Flash</a>';

    document.write(alternateContent);  // insert non-flash content

  }

// -->

</script>

<noscript>

	// Provide alternate content for browsers that do not support scripting

	// or for those that have scripting disabled.

  	Alternate HTML content should be placed here. This content requires the Macromedia Flash Player.

  	<a href="http://www.macromedia.com/go/getflash/">Get Flash</a>  	

</noscript>

</div>

</div>

</body>

</html>

Open in new window

0
Comment
Question by:millerthegorilla
1 Comment
 

Accepted Solution

by:
millerthegorilla earned 0 total points
ID: 21826320
I've found the answer.  I needed to set the flash settings to display the movie at the top and edit my css file.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This is a very simple example to help those of you who are still migrating from AS2 to AS3 understand the redesigned event model in AS3. In AS2.0, event functions (that is, the function to be performed when an event is fired) were stored as a pro…
This is intended to introduce all collision detection principles in flash, their strengths, weaknesses and workarounds. The main method for Collision Detection in flash is using hitTestObject. But unless you'll be pushing rectangular shapes without …
The goal of the tutorial is to teach the user how to live broadcast using Flash Media Live Encoder and connecting it to YouTube to broadcast. Log into your Youtube account, choose live stream settings, start live stream from Flash Media Live Enc…
The goal of the tutorial is to teach the user how to use the auto adjust feature and what the different options do. When your video is not working right you can choose the auto adjust feature to help choose your settings.

895 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now