fabriciocs / swfobject

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

Dynamic publishing + Safari with plugins disabled shows no alternative content #74

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
test case:
- using dynamic publishing
- when a user uses Safari + Flash Player installed + has disabled plug-ins
in preferences panel

issue:
the alternate content does not display

possible solution:
use navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin to
test whether a plug-in is disabled. this property is is null when there is
no plug-in to display data of the specificied MIME type format

Original issue reported on code.google.com by bobbyvandersluis on 23 Apr 2008 at 1:38

GoogleCodeExporter commented 9 years ago
Today I did a bit of cross-browser testing on the proposed fix.

navigator.mimeTypes
navigator.mimeTypes["application/x-shockwave-flash"]
navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin

returns:

[object MimeTypeArray]
[object MimeType]
[object Plugin]

in all tested browsers:

Mac OS X 10.4.11
- Firefox 2.0.0.14
- Safari 3.1
- Safari 2.0.4
- Opera 9.23

Win XP SP2
- Firefox 2.0
- Mozilla 1.7
- Netscape 8.1
- Opera 9.02
- Safari 3.0

We are especially interested in the enabledPlugin property for those browsers in
which we can disable plug-ins, which are to ma knowledge only Safari and Opera.

When you disable plug-ins in Opera I found that it also disabled JavaScript, so 
in
this case alternative content is automatically shown.

When you disable plug-ins in Safari, you find the following behavior:
- "Older" Safari browsers, including version 2.0.4 still return: [object Plugin]
- "Newer" Safari versions, including 3.0/Win and 3.1/Mac return: undefined

My conclusion so far is that:

if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) { ... }

is a good switch to fix the issue in Safari 3+ (please note that Safari is the 
only
browser in which this issue occurs), while not hurting other browsers.

Still need to do some regression testing on a series of older browser versions.

Original comment by bobbyvandersluis on 24 Apr 2008 at 3:14

GoogleCodeExporter commented 9 years ago
"- "Newer" Safari versions, including 3.0/Win and 3.1/Mac return: undefined"

What does 3+ return if the plugin is enabled? Is it 'true'? Seems strange that 
it's
either true or 'undefined' and not 'false'.

Original comment by TenSafeF...@gmail.com on 24 Apr 2008 at 4:45

GoogleCodeExporter commented 9 years ago
With plug-ins enabled all tested browsers return: [object Plugin]

The only oddity I could find is that according to the "official" embed specs it
should return null instead of undefined, quote:

"The enabledPlugin property is a reference to a Plugin object that represents 
the
installed and enabled plugin that handles the specified MIME type. If the MIME 
type
is not handled by any plugins, the value of this property is null."

Not that it will hinder us much, but anyway.

Original comment by bobbyvandersluis on 25 Apr 2008 at 8:00

GoogleCodeExporter commented 9 years ago
Same positive test results for:

Mac OS X 10.4.11
- Mozilla 1.7.13
- Opera 8.52
- Netscape 7.2

Original comment by bobbyvandersluis on 25 Apr 2008 at 10:35

GoogleCodeExporter commented 9 years ago
Let me revise my earlier comment from comment 1:

"When you disable plug-ins in Opera I found that it also disabled JavaScript, 
so in
this case alternative content is automatically shown."

This is not true, because it appeared that my test script had crashed.

Opera with plug-ins disabled returns undefined for both
navigator.mimeTypes["application/x-shockwave-flash"] and 
navigator.plugins["Shockwave
Flash"] which is the correct behavior IMO.

Original comment by bobbyvandersluis on 25 Apr 2008 at 12:13

GoogleCodeExporter commented 9 years ago
Fix will be released with SWFObject 2.1

If you would like to beta test the fix, please download SWFObject 2.1 beta1:
http://code.google.com/p/swfobject/source/browse/trunk/swfobject/src/swfobject.j
s?r=152

Original comment by bobbyvandersluis on 28 Apr 2008 at 2:10

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I'm using Safari 3.1 and i still get no content using the beta(2.1). Actually 
what
happens is, that first time I go to the site I get the flash content. If I try 
to
refresh or go to the site again without closing down Safari first, i just get a 
white
empty page. Don't even see the html content.

Original comment by troelsbe...@gmail.com on 1 May 2008 at 11:15

GoogleCodeExporter commented 9 years ago
Strange, when I test the beta in Safari 3.1/Mas OS X all works fine: Flash 
content
when  plug-ins are switched on and backup content when it is disabled.

Wonder how you can see Flash content if you have plug-ins disabled. How did you 
test
this? And are you using Safari on Windows or Mac?

Original comment by bobbyvandersluis on 1 May 2008 at 12:45

GoogleCodeExporter commented 9 years ago
Sorry if my explanation lacked some detail. Also I hadn't disabled plug-ins, so 
it
actually isn't the proper place to post this. I tried disabling plug-ins, and 
the
alternate content is displayed. So apparently the fix works. Thanks for that! I 
am
using Safari 3.1 on mac os X.

But I do have another problem in safari, when I go to the my flash page with 
plug-ins
enabled the flash content shows, but if I try to refresh the page, usually the 
flash
content doesn't show. I only see a white screen. If I press the refresh button a
couple of times again it will eventually show. If I'm the only one who 
experience
this, there might very well be something wrong with my script, though it is 
only in
Safari on mac os x I experience it. I will work some more with it and post it 
in the
forum, if I continue to have the problem.

Original comment by troelsbe...@gmail.com on 3 May 2008 at 5:08

GoogleCodeExporter commented 9 years ago

Original comment by bobbyvandersluis on 4 May 2008 at 8:07

GoogleCodeExporter commented 9 years ago
I uninstalled Flash under MAC OSX, restarted the Mac and the alternative 
content is
not showing up. When I move to this site:
http://blog.deconcept.com/swfobject/flashversion.html
he still recognizes the the Flash version that has been uninstalled

"You have Flash player 9.0.19 installed."

My OSX Version is 10.4.11

I had the Problem under FireFox 2.0.0.14 and Safari 3.1.1

I tried the uninstall, cause I had the same problem like some of the other guys 
here,
Safari -> setting the plug-ins as "not aktive" -> no alternative content

Switching to the current beta 2.1 of SWFobject also didn´t work for me ...

Original comment by tim.chri...@gmail.com on 7 May 2008 at 3:54

GoogleCodeExporter commented 9 years ago
Sounds like something has gone wrong with your uninstall.

Please download the uninstaller from the Adobe website:
http://www.adobe.com/go/tn_14157  , and try to uninstall your Flash Player 
again.

Original comment by bobbyvandersluis on 7 May 2008 at 4:18

GoogleCodeExporter commented 9 years ago
That is the one I used for the uninstall. I tried it 3 times ... same result.
But I´ll try it again just for U today ;-) 

Safari also still shows Flash in the installed Plugins, but its not able to 
play the
flash movies. Well maybe I should not worry about this, how many people are 
using a
Mac with Safari and an incorrectly uninstalled flash version or disabled 
Plugins?
0,0001%? X-)

Greetz from Germany

Original comment by tim.chri...@gmail.com on 8 May 2008 at 8:44

GoogleCodeExporter commented 9 years ago

Original comment by bobbyvandersluis on 6 Jun 2008 at 3:45