On 10 Jul 2010, at 16:35, Lesley Lutomski wrote: > I understood that the <object> tag is supported by all major modern browsers, > and the proprietary <embed> tag is not required, unless one needs to support > very old browsers, which I don't. > > I have a Flash slideshow which a client wants included on a site. The > automatically-generated code includes the <embed> tag and makes no provision > for a static image in the absence of Flash. However, when I remove the > <embed> section and add the static image, Firefox and Opera show the image, > not the Flash slideshow. IE8, Safari and Chrome on Windows all display the > Flash, as do Epiphany and Konqueror on Linux. Galeon, which is Gecko-based, > displays the static image. > > I can't believe Firefox doesn't support the <object> tag, so I assume I've > made an error in the code somewhere.
While all the browsers you mention implement "object" (although implementation details vary significantly), it may well be that the "automatically-generated code" in question targets Firefox with the "embed" element rather than "object". > <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" > codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" > > width="500" height="462" id="CC1144627" align="middle"> > <param name="movie" value="calasith.swf"/> > <param name="quality" value="high" /> > <param name="FlashVars" value="xmlfile=calasith.xml"/> > <param name="scale" value="noscale" /> > <param name="salign" value="lt" /> > <param name="bgcolor" value="#ffffff" /> > <!--[if !IE]>--> > <object type="application/x-shockwave-flash" data="flash.swf" width="800" > height="600"> > <!--<![endif]--> > <img src="images/Cala_Sith.jpg" width="400" height="300" alt="Cala Sith > Guest House with view to the Oa" /> > <!--[if !IE]>--> > </object> > <!--<![endif]--> > > </object> The outer object would only be loaded by Internet Explorer (it's set up to load the ActiveX Flash plugin). When that object fails to load, Firefox should try the inner object. But the inner object is not configured similarly to the outer object. In particular: 1. It's set to load a completely different Flash file ("flash.swf" not "calasith.swf"). I'm guessing "flash.swf" doesn't even exist. 2. It's not configured with a Flashvars param specifying an XML file. (Inner objects don't inherit outer object params). For a discussion of Flash loading strategies circa 2007 see: http://www.alistapart.com/articles/flashembedcagematch For a useful JS library that abstracts a lot of the browser differences see: http://code.google.com/p/swfobject/ Hope that helps. -- Benjamin Hawkes-Lewis ******************************************************************* List Guidelines: http://webstandardsgroup.org/mail/guidelines.cfm Unsubscribe: http://webstandardsgroup.org/join/unsubscribe.cfm Help: [email protected] *******************************************************************
