ADVANTAGES OF FRAMES
1) Frames can make your site easier to navigate because you can have a constantly visible navigation menu - and you know that easy navigation is one of the most important aspects of website design.
2) Frames can make your site faster because you can include the site theme (images, logo, etc..) and the navigation menu in frames that do not have to download each time a visitor looks at a new page. Only the contents page changes.
3) Using frames can make it easier to design and maintain your site, especially if you have a large site. If for example you want to add a new page that is linked from the other pages on your site, you simply add a link on your navigation menu; you do not have to add links on each and every page. (However the latest web design software allows you to create templates which can give similar results. You create a template and then create the pages for your site based on this template. Then whenever you make a change on the template, the webpages based on this template can be automatically updated. This is a good alternative if you don't use frames.)
4) Frames can make your site more interesting and can also allow you to have permanently visible advertising banners. Take a look at the Word magazine site www.word.com - well worth a visit and one of the most innovative sites we have found from a design point of view.
1) The original argument was that not all browsers support frames, but this must be a very small percentage now. You can get around this by including a <noframes></NOFRAMES> below your frameset. In this noframes area you can include information such as a simple navigation menu and a "Sorry your browser does not support frames" statement - OR if you want you can have a separate version of your website for non-frames browsers but be prepared to do twice as much work maintaining the site.
2) Some search engines only index the home.htm or index.htm page without spidering the rest of the site, so unless you have good tags your site might not rank very well, especially since many search engines also take into account the contents of your pages and frames are treated as hyperlinks to other pages. You can however get around this by creating "doorway" pages which redirect visitors to your index.htm page. However you need to be careful here as more and more search engines view redirection as a form of spam and will not index those pages. But you can create doorway pages with a "click here to enter" button or text, and these will get indexed.
3) Maybe the most important disadvantage, frames can make it difficult for you to direct people to a particlar page on your site. This is especially so if you want to use email to send a visitor to a particular page that has details of an affiliate program for example. If you dont send them to your index.htm page they will not be able to see the rest of your site, only the contents of the page you have directed them to.
if (top == self) self.location.href = "http://www.newaddress.com/index.html";
4)Frames within frames can be confusing, and if you are hosting on a free webhost like xoom or webjump, which are frames based for advertising purposes, you have to pay special attention to your hyperlinks when you are designing your pages.
All in all, whether you use frames or not is a personal decision, but you need to aware of the advantages and disadvantages before you design your site. Learning how to use frames is easy once you have mastered the concept that a hyperlink can lead to a page in its own frame (TARGET="self")the default option, or in another frame in the frameset eg:(TARGET="main").