I stand by what I've said. Telling people "hey, use this function, it seems to 
fix our problem" is just as much misinformation as telling someone that if they 
pick a lock that was meant to be opened with a specific key, that this is ok 
because at least it gets the door open. It wasn't intended to be done that way. 
You may do so, and I can't stop you, but it is misinformation to post on this 
list (which is archived for forever in the web/search engines) that it's a 
valid workaround, because it is not. At least in my opinion.

I also stand by what I've said about the fact that this problem (the flash 
mis-rendering issue in FF3.5) is, so far as I know, only happening to people 
who are using swfobject incorrectly, according to our best practices.  I have 
not yet seen a reliable, reproduceable test case where our standard 
code-generator generated code/markup fails to work in FF3.5. If someone can 
provide such, and I can verify, then I'll re-examine my position. But until 
then, so far as I know, they are experiencing unintended behavior because they 
are using the library in an unintended way. The behavior in this circumstance 
is both undefined and unsupportable (practically speaking).

Let me clarify again, so everyone understands. The "switchOffAutoHideShow()" 
function has one, and only one, purpose. That is:

1. control whether the alternate content (in the case of dynamic publishing), 
OR the swf itself (in the case of static publishing) is initially hidden during 
the duration of time (mere miliseconds) when swfobject has taken control of 
said content, and is doing version checking and/or attempting to embed the 
content. 

Once that brief period of time has elapsed, and SWFObject knows what it's going 
to do, it always re-shows something, either the alternate content, or the SWF, 
depending on success/failure.

Previous to adding that function, authors had no control over this behavior. We 
always assumed we should hide those things, to prevent the said unwanted 
content from unnecessarily being shown and then hidden again. For instance, how 
ugly is it UX wise to go to a page, and see first a JPG saying "download 
flash", and then pop in a second later the intended flash. You'd say to 
yourself, "man, they shouldn't have shown me that 'get flash' button since 
clearly I have flash". So, you'd probably want to just hide that until a 
version check could know if the alternate content or swf was appropriate to 
show.

But, some people didn't like that UX. Or in some rare cases, it provided a 
different kind of styling the considered ugly UX.  They wanted more control. So 
we gave it to them. We said, OK, we won't auto-hide anything while we're 
waiting. We'll let you take care of that yourself with your own CSS, JS, etc.

Notice how in none of that discussion was there any notion of "Some people had 
bugs in FF3.5 so we gave them a hack function to work around it".  That 
function was not designed for that. Plain and simple.

In fact, I'd go so far as to say, as an educated guess, that the site in 
question would probably perform the same with SWFObject 2.1 as 2.2, as I don't 
see anything about the situation that should be different (except that 2.2 has 
this function which people are trying to use). But as I've said, that's putting 
a bandaid over a splinter without removing the splinter, and expecting it to 
heal. You haven't solved the problem, you've masked it.

To further clarify:

SWFObject does not, under any normal circumstances that I'm aware of, 
accidentally leave a SWF hidden, in FF3.5 or anywhere else. So, shutting off 
SWFObject's behavior to initially hide the SWF (in the static publishing model) 
is NOT what's solving your issue. You are simply allowing the SWF in all cases 
to show up and effectively disabling SWFObject from working properly. If it is 
remaining hidden, so far as I can tell, it's because something is.... WRONG.... 
with the authored code or flash. Not a bug in FF or SWFObject.

Perhaps this is a corrupt flash version install in the FF3.5 in question. 
Perhaps the version number is wrong. Perhaps the author is not properly putting 
their code in the HEAD of the document. Or any number of other possible 
problems.

-------------------------------------

But in no way shape or form do I think (and others may disagree with me, that's 
fine), that it is CORRECT information to tell people "hey, if you have trouble 
with FF3.5, don't try and fix your code, just use this function and it'll 
magically work". I call that misinformation. And I'm sorry if I've offended 
people by having that opinion.

I remain open to having someone give me a reliable test case which disproves 
what I'm saying. I'll happily troubleshoot. And I'll personally fix the bug in 
SWFObject if there is one, or champion the bug report to Mozilla if there is 
one. But at this time, I don't have enough reliable information to say as such.


--Kyle








From: Vincent Polite 
Sent: Friday, July 24, 2009 1:01 PM
To: [email protected] 
Subject: Re: Firefox Flash item invisible


@Primemarketing, while I agree with you in concept, in Kyle's defense, I think 
he's saying while using switchOffAutoHideShow() allows users to see their Flash 
content isn't as much a solution as taking advantage of a function that happens 
to solve a condition much like slapping a television set with a fuzzy image 
"solves" the problem of a bad image.  The real solution is to either get cable 
or move your TV somewhere where there's a clear signal, not to advocate that 
everyone slap their TVs.  :)

I do think the use of the term "misinformation" is misapplied.  It's not a best 
solution, but blowing on the Nintendo cartridges and slapping a TV worked for 
millions of people.  /shrug

Perhaps not a great example, but hopefully you get the tongue-in-cheek point of 
it.

In terms of switchOffAutoHideShow, we've been able to establish in other 
threads the following:

1.  If you move the code in the the <head> of your content instead of relying 
on page loading and DOM race conditions to rule how your Flash content gets 
embedded, then the standard code seems to work in FF3.5 as well as other 
browsers.
2.  If you move your code (whether it's a register or the dynamic publishing 
version of embedSWF) into a DOM ready event, such as $(document).ready - jQuery 
or probably the domready event handler that comes with SWFObject, then that 
works as well.
3.  If you try to run things using inline scripting, then you get invisible 
non-embedding Flash in FF3.5.

In terms of the "why" this happens, I unfortunately have to leave that to the 
folks who know the inner workings of Mozilla.  Dealing with your flash embed 
code and implementing it as specified in items 1 and 2 above, however, should 
work for you.  If you absolutely positively have to do it with step3, then 
using the switchOffAutoHideShow() function seems to provide relief, but this 
seems to be based on a race condition that has as much to do with how 3.5 does 
rendering as it might have to do with any sound programming logic involving 
SWFObject.

Vincent



On Fri, Jul 24, 2009 at 12:24 PM, PrimeMarketing <[email protected]> 
wrote:


  Kyle, please don't get me wrong, but ...

  if you say "This is incorrect information.", I definitely disagree
  with you, because this swfobject.switchOffAutoHideShow(); is exactly
  what makes my test.swf show up at 
http://fischerwirt.primemarketing.at/swfobject/

  Feel free to try http://fischerwirt.primemarketing.at/swfobject/noShow.html
  to see the effect which Buglish has described.


  Saying about switchOffAutoHideShow(); "That function is for a

  different purpose, and should not be used

  in the way you are describing." is not helpfull at all.

  Whereas putting swfobject.switchOffAutoHideShow(); before
  swfobject.registerObject(); seems to be - well - at least a quite good
  work around.

  So, do you know why the test.swf (as downloaded) it's not working with
  my German Firefox 3.0.12, German Vista Ultimate SP2, German Flash
  Plugin WIN 10,0,12,36

  or do you still insist in saying: "Don't use this as a work around -
  but I I'm not sure about why you shouldn't" :-)

  regards
  Heinz


  On 21 Jul., 17:09, "Getify Solutions, Inc." <[email protected]> wrote:
  > You haven't provided a link, so I can't see, yet.
  >
  > It's possible your problem is that the SWF you're trying to load doesn't get
  > the proper stage size. We've had a number of people with issues about this.
  >
  > Or it could  be something else particular to your SWF.
  >
  > But in fact, the static SWF loading does work in FF, so you shouldn't need
  > to use extra API functions to hack it to work.
  >
  > This function in fact is used to control/prevent the flicker that some
  > people see where the alternate content shows for a brief snap before the SWF
  > content shows up. Our code doesn't have any functionality that leaves a SWF
  > totally hidden even after embed, as you seem to be trying to use this
  > function to undo.
  >
  > So, if your SWF is loading but not showing, there's another problem and we
  > can troubleshoot it if you want to post a link.
  >
  > But, I just didn't want misinformation about this function be the cure for
  > this problem, because that's improper usage.
  >
  > You can read our documentation for a more detailed explanation of the
  > purpose of the function in question.
  >
  > --Kyle
  >
  > --------------------------------------------------

  > From: "Buglish" <[email protected]>

  > Sent: Tuesday, July 21, 2009 9:54 AM
  > To: "SWFObject" <[email protected]>

  > Subject: Re:FirefoxFlash item invisible

  >
  >
  >
  > > From the link you can see I used the sample text exactly.

  > > Only when I usedFirefoxthe flash object was invisible. The only way

  > > I could get it to work was to add the switchOffAutoHideShow();
  > > function.
  >
  > > What is the real functionality of this function?
  >
  > > On Jul 15, 5:32 pm, Buglish <[email protected]> wrote:
  > >> See linkhttp://www.bam-sa.co.za/
  >
  > >> On Jul 15, 4:55 pm, "Getify Solutions, Inc." <[email protected]> wrote:
  >
  > >> > This is incorrect information. You must have something wrong in the
  > >> > code you
  > >> > are using. That function is for a different purpose, and should not be
  > >> > used
  > >> > in the way you are describing. It actually refers to the alternate
  > >> > content
  > >> > visibility, not the flash swf object visibility.
  >
  > >> > If you want to post some code here, or better yet, a link, we can
  > >> > probably
  > >> > spot the issue pretty quickly.
  >
  > >> > --Kyle
  >
  > >> > --------------------------------------------------
  > >> > From: "Buglish" <[email protected]>
  > >> > Sent: Wednesday, July 15, 2009 9:25 AM
  > >> > To: "SWFObject" <[email protected]>

  > >> > Subject:FirefoxFlash item invisible

  >
  > >> > > Just using the example for static insert results in the flash item
  > >> > > being invisible for onlyFirefoxbrowsers.
  > >> > > After lots of searching and reading though the API I tried using the
  > >> > > swfobject.switchOffAutoHideShow();
  > >> > > command before
  > >> > > swfobject.registerObject("myId", "9.0.0");
  > >> > > which made it worked.
  >
  > >> > > Add new FAQ answer that if the flash object is not visible in Non IE
  > >> > > browsers; use the switchOffAutoHideShow command.






--~--~---------~--~----~------------~-------~--~----~
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