in order to address users with 2.0 and 3.0 browsers, we must use harsher methods. with the correct attributes set in a frameset, the content of pages in frames can stretch to within 1 or 2 pixels (depending on the browser) of the edge of the browser window. flash movies embedded in pages which reside in framesets will stretch nearly to the edge of the browser window. here's what the above flash movie looks like when it is in a frameset:
figure 2: minimal gutter around a framed flash movie.
here's how to use frames to fill the browser window:
step 1)
make the page in which your movie will be embedded. when embedding the movie, set the width, height, and scale
for the desired effect as described earlier.
step 2)
make the single frame frameset. actually, it's a two frame frameset, but you only use one of the
frames for displaying your page. the first frame is set to 100% of the browser area, and the second frame
is set to "*" (meaning whatever is left, which is nothing). set the SRC of the first frame to your movie page, and the SRC of the second page to an empty HTML page with a matching BGCOLOR. then you'll need to specify the right attributes on the frameset and the frames so the contents of your movie frame extend to the edges of the browser.
here's the code with the correct settings:
<HTML>
<HEAD>
<TITLE>your flash movie title</TITLE>
</HEAD>
<FRAMESET ROWS="100%,*" FRAMESPACING="0" FRAMEBORDER="NO" BORDER="0">
<FRAME NAME="top" SRC="yourmovie.html" FRAMEBORDER="0" BORDER="0"
MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="NO">
<FRAME NAME="hidden" SRC="empty.html" FRAMEBORDER="0" BORDER="0"
MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="NO">
</FRAMESET>
</HTML>
notes:
1) as an attribute of <FRAMESET>, FRAMEBORDER is either true or false, but as an attribute of
<FRAME>, FRAMEBORDER is a pixel value for setting the width of the space between the browser edge
and the page content.
2) on <FRAMESET>, BORDER refers to the amount of pixels between frames,
while on <FRAME>, BORDER is simply a now-obsolete version of FRAMEBORDER.
3) the SCROLLING attribute must be set to NO otherwise, if the content is not larger than the browser window, a gap will appear on the right and bottom of the frame where the scrollbars would normally appear.
STEP 3)
to remove the most possible amount of gutter in ie4 and netscape4, you can optionally set the margin values on the movie page (yourmovie.html) as described in solution one. netscape4+ uses MARGINHEIGHT and MARGINWIDTH, while IE4+ uses TOPMARGIN, BOTTOMMARGIN, LEFTMARGIN, RIGHTMARGIN. To accomodate both browsers, use:
<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BOTTOMMARGIN="0">
so why doesn't it work in IE 4.5 on mac?
in ie 4.5 on mac flash movies that are placed on an html page using the standard (and correct) object/embed nesting are pushed down from the top of the page. i have not heard a definitive explanation of why from either macromedia or microsoft. the only possible workaround to the problem is to remove the object tag altogether, using only the embed to place the flash movie on the page. while this approach does remove the gap, it may cause problems for windows versions of ie. in a discussion of whether or not the workaround is advisable, john dowdell of macromedia tech support stated:
"It would be bad. IE/Win32 uses ActiveX Controls much more frequently than
it uses Netscape plugins. Most people using IE/Win32 browsers have the
flash ActiveX Control. If a page does not have an OBJECT tag then to my
knowledge those browsers will not intuit that they should use a particular
ActiveX Control to render that EMBED content.
Rephrased, I'd definitely expect that accommodating the IE4.5/Mac audience
by removing the OBJECT tag would inconvenience the IE/Win32 audience, which
has a *significant* installed base on most sites."
the only option, then, would be to create a special page just for mac ie users which is only displayed if the user is running ie 4.5 on mac (use a javascript to detect that). my recommendation is actually just to leave the gap in ie 4.5/mac because they're a relatively small percentage of normal web traffic.