Pop-up blockers are ideally only supposed to block non-user initiated scripted
pop-up windows. Pop-ups that are generated upon a user action (e.g. clicking
on a button/link) are not supposed to get pop-up blocked.
See the following for a full explanation from Microsoft:
http://msdn.microsoft.com/en-us/library/ms537632(VS.85).aspx
Unfortunately we don't live in an ideal world. And the Flash plug-in
integration in all of the major browsers (e.g. IE6, IE7, Firefox, Safari,
Opera) in regards to Pop-up blocking is not consistent or complete. Ideally
the Flash Player plugin should be able to identify a link or external
javascript call as "user-initiated" or "non-user-initiated" and tell the
browser. Then the browser should take this information into account when
deciding to Pop-up block or not.
I did some extensive testing to come up with a repeatable solution that worked
in IE6, IE7, FF, & Safari (the major browsers we try to support) in Flash 8
ActionScript 2.0 and came up with the following.
The following worked for IE6, IE7, & FF:
# Use ?opaque? wmode (not ?window? or "transparent" wmode) when embedding the
SWF file within an HTML page
# Use the ?onRelease? EventHandler (not ?onPress?) in ActionScript
# Use the ?ExternalInterface.call? (not ?getURL?) function in ActionScript
Safari requires a special workaround.
I'm trying to find time to writeup a more detailed blog that also addresses
Flash 9 ActionScript 3.0, the special workaround for Safari and contain
examples.
NOTE: this info may become obsolete as Adobe updates the Flash Player plug-in
and/or browser's change their Pop-up blocking code (like Safari did in 3.1).
-Norm
>> Stay informed about: IE 7 and FF pop-up blockers