Yes this loading order is a nightmare.

Has somebody made work checkplayer lib with a flash app using
ExternalInterface? Does it support it?

On 21 Jan., 18:00, "Getify Solutions, Inc." <[email protected]> wrote:
> Yes, in my testing, I found the window-load type events (and dom-ready
> events as well) unreliable in determining if the EI was ready or not. If you
> are not having those troubles, then I wouldn't worry about it.  But it is
> something to be aware of, that IE does have some delay in getting those
> initialized.
>
> --Kyle
>
> --------------------------------------------------
> From: "aldana" <[email protected]>
> Sent: Wednesday, January 21, 2009 8:51 AM
> To: "SWFObject" <[email protected]>
> Subject: Re: problems integration swfobject 2.1 and jquery (document.ready)
>
>
>
> > cool, thanks.
>
> > I got the window.onload callback in place now, which works fine
> > (anyway the item i need swfobject for is at the bottom of the page).
> > so maybe I'll stick with this. I highly appreciate your little lib,
> > but including it would even increase the javascript lib complexity we
> > already have, which I want to avoid.
>
> > what does speak against accessing .swf through window.onload callback?
> > will it be non-deterministic in terms of accessibility of the .swf
> > (some browsers load faster/slower, page load time)?
>
> > On 21 Jan., 14:16, "Getify Solutions, Inc." <[email protected]> wrote:
> >> Bobby's code below is a good start, but it's not robust enough according
> >> to
> >> what I've found in testing. For instance, in IE, there's actually a split
> >> second where the function is "defined" on the flash swf dom object, but
> >> it's
> >> not actually got anything in it yet (like it's an empty function value).
> >> There are several complications which ensue.
>
> >> As an alternative to rolling your own code for waiting for
> >> ExternalInterface
> >> to be ready, there's a library that I wrote and maintain called
> >> CheckPlayerhttp://checkplayer.flensed.com/which wraps around SWFObject
> >> and adds some
> >> additional "advanced" functionality, including in this case,
> >> ExternalInterface availability checking.
>
> >> Basically, the strategy is to give the library a specific function name
> >> to
> >> try to call on the swf (**caveat), which it will loop trying to do until
> >> the
> >> try/catch around it *doesn't* fail (in which case you now know for sure
> >> the
> >> function is ready!). Now that the readiness is detected, it calls an a
> >> callback function you define, which notifies the rest of your code that
> >> the
> >> SWF is fully ready to go.
>
> >> It's not the prettiest solution, but it was what I found to be most
> >> reliable
> >> in terms of full cross-browser testability.
>
> >> My suggestion is, rather than trying to figure out these frustrations for
> >> yourself as I did, you might consider using CheckPlayer. Otherwise, you
> >> can
> >> look to trying to duplicate the logic I implemented for your own code.
>
> >> --Kyle
>
> >> **caveat: The only "downside" really (which is usually not a problem) is
> >> that you have to have some function defined which is ok to be called just
> >> plain, without any parameters, who's successful calling will not create a
> >> problem with the state of your SWF (since it'll be guaranteed to be
> >> called
> >> once successfully before the rest of your code continues). So, on my
> >> SWF's,
> >> I usually have some sort of simple "Reset" or "Init" function, which
> >> doesn't
> >> really even have to do much, but is a valid function I can call on the
> >> SWF
> >> without using any parameters, and once it's ready, I know the rest of my
> >> important functions are also ready.
>
> >> --------------------------------------------------
> >> From: "Bobby" <[email protected]>
> >> Sent: Wednesday, January 21, 2009 6:58 AM
> >> To: "SWFObject" <[email protected]>
> >> Subject: Re: problems integration swfobject 2.1 and jquery
> >> (document.ready)
>
> >> > Your SWF and External Interface functionality will need some time to
> >> > initialize, so calling it directly when the DOM is loaded is too
> >> > quick.
>
> >> > You'd better only call it as soon as it is available, e.g.:
> >> > var obj = document.getElementById("flashCookie");
> >> > (function() {
> >> > if (obj && typeof obj.JStoASviaExternalInterface != "undefined") {
> >> > obj.JStoASviaExternalInterface();
> >> > }
> >> > else {
> >> > setTimeout(arguments.callee, 10);
> >> > }
> >> > })();
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to