FAQ About Using Frames

Part 1: Using frames on your website
Go for Frames ... Part 2: How to use a framed website

Everywhere at the web you can read bad things about frames and their usability. Jakob Nielsen's Why Frames Suck would be one of these articles. It's written in 1996 ... some 13 years ago. I love frames when it comes to private pages, and because everyone seems to be fucked up about frames, I decided to set up this page.
 

Q1: What's cool about frames?

Frame coding is very easy to learn. Also, frames can serve as a kind of fake content management system, providing the possibility to use the same file for providing identical information on different pages, e.g. menu, contact information, news ... whatever you consider important. This decreases bandwidth usage and offers the possibility to alter things on every page by altering only one file. Also, these important parts like the menu always stay in sight and don't get lost by scrolling down or to the right. Using a CMS and CSS styles might be more professional and finally do the same, but they also are way more complicated to learn. And last but not least, there are simple advantages with frames for example when saving or printing, because only the selected frame is saved or printed, unrelevant parts like the menu are not (this of course requires a printer friendly splitting concept between content and non content like top, menu and ad frames etc.).
 

Q2: Do recent browsers support frames at all?

Yes, in 2009 they most likely do so. Basic frames are at least officially supported since IE, Netscape and Opera versions 3.0.
 

Q3: So what's up about all these hassles usually addressed?

Well - if you use a recent OS / Browser combo, and approximately 98% of all the users do so - actually not too much. Below is a comparative list of compatibility issues and functions available when browsing framed pages.


  IE3.0 IE4.01 IE5.01 IE5.5 IE6 IE7 IE8 FF1.5 FF2.0 FF3.0 Opera9
Year 1996 1997 1999 2000 2001 2006 2009 2005 2006 2008 2006
OS Windows 3.1 95 3.11-ME 95-ME 98-ME     98-ME 98-ME   95-ME
Windows NT   4.0-5.2 3.5-5.0 3.5-5.0 4.0-5.2 5.1-5.2 5.1-5.2 4.0-5.2 4.0-6.0 5-6.0 -6.0
Mac OS yes yes 8.1 - 9 10.3       10.2 10.2 10.4 10.2
others Unix Unix Unix         Linux Linux Linux Unix/Linux
Framesets yes yes (1) yes (1) yes yes yes yes yes yes yes yes
JS-Frameset v1* by set no yes (1) yes (1) yes yes yes yes yes yes yes yes
JS-Frameset v1* by frame no yes (1) yes (1) yes yes yes yes yes yes yes yes
JS-Frameset v2** by set no no no yes yes yes yes yes yes yes yes
JS-Frameset v2** by frame no no (2) no (2) yes yes yes yes yes yes yes yes
Back Button working yes     yes yes yes yes yes yes yes yes
Back on RightClick no     no yes yes yes yes yes yes yes
Bookmark frame on RightClick yes (3)     yes yes yes yes yes yes yes no
Bookmark link on RightClick yes     yes yes yes yes yes yes yes yes
Copy Link on RightClick no (4)     yes yes yes yes yes yes yes yes
Create A Shortcut on RightClick       no yes yes yes no no no no
Email Link on RightClick       no (5.1) no (5.1) no (5.2) no (5.2) yes yes yes no (6)
Print frame on RightClick yes     no yes yes yes no no yes yes (7)
Save Frame on RightClick       ? no (8) no (8) no (8) yes yes yes no (8)
Save Target on RightClick yes     yes yes yes yes yes yes yes yes
                       
      *** *** ***     **** **** ****  


(1) Frameset is loaded, but the frames themselves don't show up.
(2) The script translates the address, but the set or pages are not loaded.
(3) Click anywhere in the targeted frame.
(4) Links can be opened in a new window via rightclick though, where the addy can then be copied / saved.
(5.1) Use Copy Link and Email via Send by Email Button, or Create Shortcut and email it from Desktop.
(5.2) Use Copy Link and Email via File > Send > Email, or Create Shortcut and email it from Desktop.
(6) Copy Frame Address + Email Page Address available on rightclick though.
(7) Prints every frame on its own page.
(8) Use the browser's menu File > Save As or Save instead.

* a simple script that redirects to the default frameset, if the targeted frame is loaded outside a frameset - click here for the script
** a more complicated script, that reloads the targeted frame into its frameset, if the frame is requested directly - click here for the script
*** Google search form not working (tested 2009-05-15)
**** extensive cascading frame menu available on RightClick

All these features were tested. For IE3 - IE6 MultipleIE was used. Maybe there is more frame support in the original versions of IE. Will test that later.


Q4: What does this mean?

If you use a vintage OS, you might be damned to use a vintage browser. Neither the vintage OS nor the vintage browser is recommended to be used in nowadays world wide web - on the one hand simply for security reasons, on another hand for incompatibility of multimedia plug-ins and such stuff, on another hand again for performance reasons etc., on another hand again for using such basic sites as Google. So the only case I really see the abandonment of frames making still sense today will be a website addressed to people using such vintage hardware and software, e.g. abandoned games archives, fan pages and so on.
 

Q5: But how is it possible to call a frame within its frameset, let's say, when being directed from some search engine result?

Simply use a script like this (referred to as JS-Frameset v2 in the table above). It will check, whether a site is loaded as single page or as a frame of a frameset, and if loaded as a single page, it will kinda translate the address to load that special page the visitor wanted to see. For example copy & paste this link to your browser:

http://canon-eos.webuda.com/frames/lenses_af_sigma.htm

It addresses a content frame and will be translated into

http://canon-eos.webuda.com/index.htm?/frames/lenses_af_sigma.htm

Both these links are ready to bookmark and will bring you back to the Sigma listing loaded within a frameset. The first one you will get by just rightclicking the corresponding site menu entry, the second one you will get either by being redirected directly from a search engine's results list or by opening the link in a new window by rightclick on the corresponding site menu entry. It is therefore not necessary to provide the extended link in the site menu's html code.
 

Q6: But the basic problem is still immanent - people might not know how to bookmark etc. framed pages, if they realize a page as framed page at all.

This is the point where you have to decide. Are people really not able to learn a few basic things about the functionality of their computer and internet browser? This seems to be one of the central arguments by people like Nielson (the author of Why Frames Suck, see Tech Support Tales for example), who somewhat tends to deny this. But they definitely are and they definitely need to. Computers and the internet are not just simple 2 button applications and never will be. Using such high end technology implies learning about it. Same goes for driving a car, for trout fishing or even for having a baby, whatever. And this was as true in 1996 as it is today, although the percentage of novices is by far lower today.
A good start might be telling your visitor, that you do use a framed site. A second point might be telling them to use their rightclick more often than the browser's menu, because if you have a closer look at the tested features in the table above, you will see, that most of the features you need when browsing are either available by rightclick by default, or there is a simple two step work around - if not multiple possibilities exist at all. And this is not much to learn, since 99.99% of all web users already use their mouse to navigate more or less exclusively.
Another central critic of Nielson is, that lots of people use old browsers and don't know how to update them, or that they don't recognize the release of more recent versions. I don't consider this argument essential anymore. In 1995 the use of the internet was something new, it was not available everywhere, bandwidth was extremely limited and expensive. A not somewhat up-to-date system running the back than 2 years old Windows 3.0 might not have been ready for networking at all. But today, even running a completely outdated OS like NT4 or Win98, you can use a browser like FF2 or even IE6 with service pack, that will still do a great job, at least in terms of framed sites. And ... most people using Windows use in fact Windows XP or Vista. If they don't know how and when to update their browsers, they also do not know how to deactivate the Automatic Update Service, which will install newer versions automatically. Mac users will either use Safari or Firefox. Both will update automatically. And finally there are the Linux/Unix users. I don't think there is just one amongst them not knowing what he/she is doing.
A completely different consideration of cause might be the aforementioned solution of learning CMS and CSS more extensively yourself. Good for you, if you can afford the time.
 


FAQ About Using Frames

Part 2: How to use a framed website


In this FAQ I consider you are using a recent version of either Internet Explorer, Firefox or Opera.

In Firefox and Opera there will be an extra menu called Frame available via rightclick selection, that is not available, if the page is not framed.

If you are an experienced user, you will know from the layout of a homepage, whether it is a framed page or not. The most remarkable signs are bulky scroll bars, the loading and scrolling behavior (only parts of the page are changing while browsing, the rest doesn't reload (e.g. main / content part), as well as scrolling only affects a part of the page (the frame), instead of the whole window), sometimes there are visible, even resizeable frame borders etc.

On my page it is simply pointed out by a sticker on top of the menu. Maybe you find similar indications on others' homepages.
 

Q1: How do I bookmark the current frame?

Use your rightclick menu by either rightclicking the target frame (not available in Opera) or the corresponding link that leads to that frame (e.g. in the site menu usually to the left).
 

Q2: How do I print the current frame?

Use your rightclick menu by rightclicking the target frame. In Firefox 2 and older this was not yet available. Using these, first save the target frame to your Desktop and print it from there.
 

Q3: How do I save the current frame?

Use your rightclick menu by either rightclicking the target frame (not available in Opera and IE) or the corresponding link that leads to that frame (e.g. in the site menu). In IE and Opera you can alternatively save the whole page as either Webarchive (.mht file) or as Webpage (.html file with or without pictures) via browser menu (Opera: File > Save, IE: File > Save As). If you don't need the pictures to be saved with (text only), you can also go via View Source > Save by rightclicking the target frame.
 

Q4: How do I get/copy the direct link to the current frame?

Use your rightclick menu by rightclicking the the corresponding link that leads to that frame (e.g. in the site menu usually to the left).
 

Q5: How do I email the current frame's address to a friend?

Firefox: Use your rightclick on the frame's corresponding link in the site menu.

IE5 and IE6: Copy the link (see Q4) and email it via Email Button, or in IE6 create a shortcut by rightclicking the targeted frame and email it from your Desktop (Send to > Email).

IE7 and IE8: Copy the link (see Q4) and email it via File > Send > Email, or create a shortcut by rightclicking the targeted frame and email it from your Desktop (Send to > Email).

Opera: Copy the targeted frame's address (see Q4), select Email Page Address available on rightclick and overwrite the preselection by pasting in the copied link.
 

Q6: Do my back and forward buttons work as usual?

Yes, the browser's buttons as well as the rightclick selections.
 

Go for Frames ... Part 1: Using frames on your website