Ok, the problem is pretty obvious now, I just can't think of a simple solution.
Firefox 3 displays the flash movie as expected. Internet Explorer 6 and 7 hide the movie 4 out of 5 times, but work fine once in a while. The dom loaded event fires consistently in FF, while IE probably mixes up the execution order of events. Since I register the player using the jQuery events, sometimes swfobject runs before jQuery registers the player. I need to be able to run the main method after jQuery all the time, or the registerObject should detect that it has already run, and then just repeat its magic for a single player. This would make it a lot more robust, regardless of any external library. I will see if I can come up with some sort of fix for this. On 14 jan, 12:50, K-Mile <[email protected]> wrote: > That was my best bet as well. > > The reasons for static publishing: > > - Display of movies with Javascript disabled. > - Our CMS can output only XML, so generation of the object parameters > (width, height, src, vars) is easy to do. Creating JS on the fly is > hard since we include only externally referenced, minified and gzipped > script files. Inline scripts could cause problems with character > entities etc, and external scripts are hard to generate since they are > not XML, and dynamic so cannot be statically published. They also > cause another HTTP request which is not gzipped, not minified. > - I want to use XHTML as it is intended, separating markup and > interaction, to provide the most robust and forward-compatible > codebase. > - We can have multiple flash movies on the same page, further > complicating the above constraints. > > All these constraints are 'soft constraints', so I can probably deal > with them not being there or work around them, but if there is some > way I can trigger the display of the movie manually I would really > prefer that method. > > Thanks again! > > On 14 jan, 12:10, "Aran Rhee" <[email protected]> wrote: > > > If you are using another javascript library, then dynamic publishing is most > > likely the way to go (that is why there are two publishing methods). It will > > give you much better control of if / when the swf file is written to the > > page. > > > Is there any particular reason you want to use static publishing? > > > I think you are just running into code execution order issues. > > > Aran > > > -----Original Message----- > > From: [email protected] [mailto:[email protected]] On > > > Behalf Of K-Mile > > Sent: Wednesday, 14 January 2009 10:06 PM > > To: SWFObject > > Subject: Re: registerObject hides SWF file > > > When using dynamic publishing, it works just fine. It is only static > > publishing. > > > Obviously I could just make the player visible, but I feel that that > > skips most of swfobject's goodness... > > > On 14 jan, 12:04, K-Mile <[email protected]> wrote: > > > The page is not online yet, and since I am working on a commercial > > > project for a client I can only show snippets of the code. The HTML: > > > > <object id="swfMovie" classid="clsid:D27CDB6E- > > > AE6D-11cf-96B8-444553540000" width="425" height="344"> > > > <param name="movie" value="http://www.youtube.com/v/ > > > 229NvV0SRHw" /> > > > <!--[if !IE]>--> > > > <object type="application/x-shockwave-flash" > > data="http://www.youtube.com/v/229NvV0SRHw" width="425" height="344"> > > > <!--<![endif]--> > > > <a > > href="http://www.youtube.com/v/229NvV0SRHw">Flash movie</a> > > > <!--[if !IE]>--> > > > </object> > > > <!--<![endif]--> > > > </object> > > > > My code is called on the jQuery dom loaded event. It does some sanity > > > checking, and in this case performs just: > > > > swfobject.registerObject('swfMovie', '8'); > > > > Thanks for your suggestions! > > > > On 14 jan, 11:51, "Aran Rhee" <[email protected]> wrote: > > > > > So you have the proper <object> definition on the page as well? > > > > > A link to your page would be the quickest way for people to check what > > is > > > > going on. > > > > > Also, the code generator can be a helpful tool to ensure you code is > > well > > > > formed:http://www.bobbyvandersluis.com/swfobject/generator/index.html > > > > > Aran > > > > > -----Original Message----- > > > > From: [email protected] [mailto:[email protected]] On > > > > > Behalf Of K-Mile > > > > Sent: Wednesday, 14 January 2009 9:43 PM > > > > To: SWFObject > > > > Subject: registerObject hides SWF file > > > > > Hi, > > > > > I am probably missing something huge here, but when registering a > > > > flash movie using the static publishing method, my flash movie ends up > > > > with 'visibility:hidden'. When going through the source the > > > > registerObject method ends with 'setVisibility(objectIdStr, false)' so > > > > the fact that the movie is hidden is clear to me. What I don't > > > > understand is why the main method is (apparently) never called, never > > > > showing the SWF file. > > > > > It fails in IE6, IE7, and FF3. > > > > > Do I need to register the dom load event myself? Could this be > > > > conflicting with jQuery? Is there something else I am not aware of? > > > > > Thanks for any pointers you might have on this! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "SWFObject" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/swfobject?hl=en -~----------~----~----~----~------~----~------~--~---
