Results 1 to 3 of 3
  1. #1
    Join Date
    Aug 2006
    Location
    Brisbane, Australia
    Posts
    217
    Plugin Contributions
    2

    xhtml problem Cannot get the attached SWF file to run in FF nor IE7

    Hi all,

    I have created the attached SWF file in Flash 8, from 'SlideShowPro' template. I cannot run the file in both FF nor IE7. Though I had it working in FF using this code, without any javascript, wrapped in div's:

    Code:
    <object type="application/x-shockwave-flash" data="http://path to file/gallery2006.swf" width="700" height="740">  
      <param name="movie" value="http://path to file/gallery2006.swf" />  
    </object>
    Flash generated the following code for the <head>, which I included in a jscript_.php file inside the template jscript folder.

    Code:
    <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>
    And generated the following code to insert in the page:

    Code:
    <body bgcolor="#ffffff">
    <!--url's used in the movie-->
    <!--text used in the movie-->
    <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="700" height="750"'
        + 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
        + '<param name="movie" value="gallery2006.swf" /><param name="play" value="false" /><param name="loop" value="false" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" />'
        + '<embed src="gallery2006.swf" play="false" loop="false" quality="high" wmode="transparent" bgcolor="#ffffff" '
        + 'width="700" height="750" name="gallery2006" align="top"'
        + '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>
    </body>
    Using this script, it does not run in FF nor IE7.

    Interesting though, I can run the file from my HDD and load it in both FF and IE7 without any problems.

    I have found out that IE7 has DOM changes, that may make it harder for <embed> tags to work, but I am stumped to know why this file does not want to run.

    Many thanks for your help.

    Goshawk
    Time is but an illusion, there is only "now"!

  2. #2
    Join Date
    May 2004
    Location
    Hong Kong
    Posts
    1,294
    Plugin Contributions
    1

    Default Re: Cannot get the attached SWF file to run in FF nor IE7

    Please refer to the topic below for some idea or may ask help there, of which related to 'SlideShowPro' and flash.
    XML Slideshow in define_main_page.php

    Can't help more for my connections and time not permitted.
    A New Starter again

  3. #3
    Join Date
    Aug 2006
    Location
    Brisbane, Australia
    Posts
    217
    Plugin Contributions
    2

    Default Re: Cannot get the attached SWF file to run in FF nor IE7

    Thanks very much Seethrough,

    I have read the url you recommended, and changed my relative URL settings in the XML file needed to locate the slides. Also I have put both the SWF and XML file in the shops ROOT directory.

    Both these are against the recommendations by SSP, but seem to work perfectly in
    Zencart.

    I am posting my reply in here, so when someone else stumbles on this post, at least the have the answers at hand.

    Happy New years wishes for 2007,

    Goshawk
    Time is but an illusion, there is only "now"!

 

 

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
  •