Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Wanet Telecoms Ltd on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Embedded Flash causing Javascript onload to be ignored?

Status
Not open for further replies.

trufla

Programmer
Aug 9, 2004
31
GB
I am having trouble rendering rounded corners on a div that is a navigation bar. The code works fine in every page except a page which has flash embedded in it.

It appears that an onLoad event that is in the
HTML is ignored when there is a Flash movie embedded in the page.

I am using a script to handle multiple onloads as it is because these several onloads seemed to interfere with each other. But I think it maybe the flash causing the issue here. Can anyone help?

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[URL unfurl="true"]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[/URL]

<!--created using IndexLayout Template-->

<html>
	<head>
	<title>Test site</title>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
	<link rel="stylesheet" type="text/css"href="/IndexLayout.css" media="screen" />
	<link rel="stylesheet" type="text/css" href="/sIFR/sIFR-print.css" media="print" />
			
<!--Start of rounded 'curvy' corners code-->
<!-- #include virtual="\includes\rcorners_sIFR.inc" -->
<!--End of rounded 'curvy' corners code-->	
				
	<script type="text/javascript">
function MM_CheckFlashVersion(reqVerStr,msg){				
  with(navigator){
    var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
    var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
    if (!isIE || !isWin){  
      var flashVer = -1;
      if (plugins && plugins.length > 0){
        var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
        desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
        if (desc == "") flashVer = -1;
        else{
          var descArr = desc.split(" ");
          var tempArrMajor = descArr[2].split(".");
          var verMajor = tempArrMajor[0];
          var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
          var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
          flashVer =  parseFloat(verMajor + "." + verMinor);
        }
      }
      // WebTV has Flash Player 4 or lower -- too low for video
      else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

      var verArr = reqVerStr.split(",");
      var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
  
      if (flashVer < reqVer){
        if (confirm(msg))
          window.location = "[URL unfurl="true"]http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";[/URL]
      }
    }
  } 
}
    </script>
     
			<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
	
	</head>
<body onload="MM_CheckFlashVersion('7,0,0,0','Content on this page requires a newer version of Macromedia Flash Player. Do you want to download it now?');">

<div id="container"> <!-- Start container -->
	
	<div id="wrapper"> <!-- Start wrapper -->
		
<!--#include virtual="\includes\flashbanner.inc"--> <!--Include for Flash Banner-->

<div id="header">
			
<!-- #include virtual="\includes\indexlogo.inc" --> <!--Include for Index Logo Image-->
		
				<h1>Showreel</h1>

			</div>
			
	  <div id="content"> <!-- Start content -->
	  
				<!--start of 'subnav_root.inc' navigation include file -->
		
<!-- #include virtual="\includes\subnav_root.inc" -->
				
<!--end of 'subnav_root.inc' navigation include file -->
				
		      
		<div id="showreelvideo">
		
			<script type="text/javascript">
				AC_FL_RunContent( 'codebase','[URL unfurl="true"]http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0','width','320',[/URL]				'height','240','id','FLVPlayer','src','FLVPlayer_Progressive','flashvars',	'&MM_ComponentVersion=1&skinName=Clear_Skin_3&streamName=/flash/showreel&autoPlay=true&autoRewind=false','quality','high','scale','noscale','name','FLVPlayer','salign','lt','pluginspage','[URL unfurl="true"]http://www.macromedia.com/go/getflashplayer','movie','FLVPlayer_Progressive'[/URL] ); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="[URL unfurl="true"]http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"[/URL] width="320" height="240" id="FLVPlayer">
          <param name="movie" value="FLVPlayer_Progressive.swf" />
          <param name="salign" value="lt" />
          <param name="quality" value="high" />
          <param name="scale" value="noscale" />
          <param name="FlashVars" value="&MM_ComponentVersion=1&skinName=Clear_Skin_3&streamName=/flash/showreel&autoPlay=true&autoRewind=false" />
        <embed src="FLVPlayer_Progressive.swf" flashvars="&MM_ComponentVersion=1&skinName=Clear_Skin_3&streamName=../flash/showreel&autoPlay=true&autoRewind=false" quality="high" scale="noscale" width="320" height="240" name="FLVPlayer" salign="LT" type="application/x-shockwave-flash" pluginspage="[URL unfurl="true"]http://www.macromedia.com/go/getflashplayer"[/URL] />          
</object>
</noscript>
</div>
</div>

<!-- #include virtual="\includes\footer.inc" --> 
<!--Include for Index Footer -->
</div><!--End of wrapper-->
	
<!-- #include virtual="\includes\navigation_extra_org.inc" --> <!-- Include for Left Sidebar -->
		
</div><!--End of container-->	

	<!--Start of 'windowonloads.inc' file for firing all javascript onloads-->
		<!-- #include virtual="\includes\windowonloads.inc" --><!-- include for left hand sidebar -->
	<!--End of 'windowsonload.inc'-->

</body>
</html>

Cheers!
 
Note: you have an "onload" attribute, as well as (presumably in the "windowonloads.inc" which we know nothing about) other onload events set by JS.

This will not work. You need to have one, or the other - not both.

Hope this helps,
Dan



Coedit Limited - Delivering standards compliant, accessible web solutions

[tt]Dan's Page [blue]@[/blue] Code Couch
[/tt]
 
I notice you have doctype XHTML Transitional but you are using the tag <embed> which is not valid XHTML, check for valid code and see if that helps.

"In complete darkness we are all the same, only our knowledge and wisdom separates us, don't let your eyes deceive you.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top