fullcatrooms / swfobject

Automatically exported from code.google.com/p/swfobject
0 stars 0 forks source link

Problem with registerObject call? #315

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Hello, I'm a developer on Chrome and I was looking at 
http://code.google.com/p/chromium/issues/detail?id=6653.  For some reason, on 
that page it seems that this call doesn't have an effect in Chrome, as Flash 
later tries to call NPN_Invoke on "_DoFSCommand" instead of 
"vertretungen_11_DoFSCommand".  There's more information on the page above.  
I'm not familiar with SWFObject, so I was wondering if someone more familiar 
with it can investigate further?  This is broken in Chrome/Safari/Opera.

Thanks,
John

Original issue reported on code.google.com by jam@chromium.org on 23 May 2009 at 2:16

GoogleCodeExporter commented 9 years ago
This is an implementation error, the name attribute should also be used for the 
outer
object element.

Please mention the following page as a valid reference implementation:
http://www.bobbyvandersluis.com/swfobject/testsuite_2_1/test_com.html

We have tested this test page successfully in Chrome and Safari.

Original comment by bobbyvandersluis on 23 May 2009 at 8:39

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
If the page has an implementation error, then why does it work in Firefox but 
not 
Chrome/Safari/Opera?  As I'm not familiar with SWFObject, I don't know where 
the name 
attribute gets sent to the Flash plugin, and when it decides to use it.

Original comment by jam@chromium.org on 26 May 2009 at 5:37

GoogleCodeExporter commented 9 years ago
It has nothing to do with SWFObject; it's about how these browsers interpret the
nested object tags for Flash and also how the Flash plug-in works:
1. Chrome/Safari/Opera use the outer object (the one with the classid) aimed at
Internet Explorer, which is often leading to much confusion. Of course they 
should
use the nested object element instead, but hey, it already works like this for a
while and it's good for compatibility.
2. The regular Flash Player (the non-ActiveX version) requires the movie name
(instead of the id) for the fscommand functionality.

So because Chrome/Safari/Opera use the outer object element, the name attribute 
needs
to be duplicated. So it's really an incorrect implementation and not a 
SWFObject or
Chromium issue.

Furthermore fscommand is an outdated mechanism. Developers can better use 
External
Interface instead.

Hope this helps...

Original comment by bobbyvandersluis on 26 May 2009 at 7:43

GoogleCodeExporter commented 9 years ago
Thanks a lot for the info, this definitely helps.  I'll investigate the WebKit 
code 
more to see if this is something we can fix on our end.

Original comment by jam@chromium.org on 26 May 2009 at 8:13

GoogleCodeExporter commented 9 years ago
OK after looking into this more, and thanks to bobbyvandersluis's help, here 
are my 
conclusions:
-the website didn't follow the swfobject example correctly (i.e. no "name" in 
the 
outer object tag)
-had the web developer followed Adobe's examples which use an embed inside an 
object 
tag, this would have worked (since Chrome and other browsers will prefer an 
embed 
over an object tag)

So it seems this is a problem with the site, and not a bug in Chrome or 
swfobject.  
As bobbyvandersluis says, this behavior is in WebKit and Opera for 
compatability 
reasons.

Original comment by jam@chromium.org on 27 May 2009 at 3:04