MACROMEDIA FLASH  back to
LAUNCHING A NEW WINDOW  


<FONT COLOR="#FFFFFF">If you are reading this message you do not have Macromedia Flash installed properly in your browser. You need a browser that supports either Netscape plugins, or ActiveX. Please visit the <A HREF="installflash.html">Flash installation instructions</A>for more information.</FONT>

Technique One: FSCommand

Unsupported by:
Windows 3.1 browsers
Mac 68K Browsers
IE 2.0 or Netscape 2.0 on any platform

Description:
In the first technique for launching a new browser window from Flash, we use a button with an FSCommand that calls a JavaScript function. The JavaScript function, in theory, should launch a new window.

In the Flash movie above, the button has an FSCommand action with a command of launchwin. A JavaScript function (or a little VBScript in the case of IE) catches the fscommand, and calls the function launch() which uses a standard window.open to launch the new window.

Problem:
The window.open method is so buggy in Netscape when used with FSCommand that it is impossible to open a new window via FSCommand with that browser. In Netscape, when the function that executes window.open is called from Flash, the browser executes the function, but does not execute the window.open line. An alert tells us that the window launching function is being called properly. Strangely, when the URL in the window.open method is set to "", Netscape does actually launch the window, but it launches it without content, making it useless [see demonstration].

As verification that the code in the window function is not causing the problem, we can test the function using the HTML button below. When called from the HTML form, the window function launches the new window normally.

Dave Livesay actually has a clever little workaround to the Netscape problem. He describes it in his article Getting Started with FSCommand. Essentially, he suggests enclosing the window.open statement inside a setTimeout that is set to 0, as in:
{setTimeout("window.open('foo.html', 'newwindow','height=150,width=300')",0)}

However, in addition to the Netscape bug, the FSCommand technique is not well supported because it requires ActiveX or LiveConnect to work, which means that only users of Windows95/NT and Mac PPC can access content that uses FSCommand. (Note that in Netscape, Flash 3 requires LiveConnect to be enabled in the EMBED tag of movies that use FSCommand. To use FSCommand with Netscape, you must include this attribute in your EMBED tag: swLiveConnect="true".)

Recommendation:
Even if we only wanted to address a Win95NT/MacPPC audience, the Netscape bug in window launching makes Technique One pretty undesirable. IE3 and IE4 both work properly with FSCommand.

to technique two