Frames are a source of several problems. One that is quite common is that it "breaks the browser's Back button". Some users expect the Back button to take them to the previous site they were at. Instead, it takes the most recently used frame back. For example, if a user goes to your site via a search engine and looks through a couple of pages, that user might think the Back button would take them back to their search results (it makes sense, doesn't it?). Instead, it takes the most recently used frame back one page in the browser history. Accessibility and usability are the issues here, and some countries actually have accessibility requirements to meet. Tables are a pain and they take a long time to load, but they do get the job done better from a usability point of view. Tables are actually considered a bad way to go these days. Frames = worst. Tables = worse. Iframes = bad. Cascading Style Sheets + semantic markup + accessible design + usable design + etc. = good, better and best.
maybe I are not so bright ... as with OOD i just never quite got it ... anyway I am trying to make a flexable site .. with a header ... and menu bar on the left and some jpgs with links on the right and the middle is the "active area"
I want to split the menu bar into search entire db, subject specific links and some scroll bars. Again I can visualize this ... just cannot see how to do it outside FRAMES or TABLES ... and FRAMES give me more flexability as far as I can see.
BTW the output of a shopping cart goes into the active area ..
now ... how to do this cleanly ... i have implimented CCS for text and background ... where can I go to read up on this?? ... ww3??
Doing a little Googling, I found this page, which makes a case for using frames, and this page, which makes a case for not using them. Interesting reading. Personally, I don't see that frames offer anything that I can't do with some well placed div's.
My biggest reasons against using frames for an internet site:
They break bookmarking/favorites.
Search engine result pages often bring your user to one frame and don't load the whole frameset.
If this post contains any code, I may or may not have tested it. It's probably just example code, so no getting knickers in a bunch over a typo, OK? If it doesn't have basic error checking in it, such as object detection or checking if objects are null before using them, put that in there. I'm giving examples, not typing up your whole app for you. You run code at your own risk.
Bored? Visit http://www.kaelisspace.com/
None of the points made in favour of frames are very compelling, though ("Frames create an advertisment that is always present" would be another point not to use them!), and the points made against them omit search-unfriendliness and "breaking the frameset" by linking directly to inner documents.
NikkiH, you beat me to the punch! I gotta learn to type faster...
The only areas where frames really offer some benefit (reusing common areas like headers and navigation, and persistent navigation menus) can be mimicked by either server side or client side scripting.
Another useful source for some introductory tutorials would be HTML Dog.
I made a mock up of a frames page to work with my design. It ended up being 14 frames ... it's does exactly what i want is a little slow to load initially with the Flash header, quickly otherwise ... but it does exactly what i want ... I don't know which direction would be best here ... maybe just for simplicity get the site out in frames ... then build the <no frames> side with "proper" use of <DIV>'s and such.
Frames are great for putting one website on another.
I can understand why you might not want your webpage embedded in someone elses. In my case it is my own that I want in another page. It isn't a layout issue. It's a functionality issue. The webpage was intended to be embedded.
Imagine having a calendar webpage. You could then embed that calendar in other webpages by using iframes without having to worry about how the page it is embedded in works. The framed page can have it's own css file and layout and look.
I'm not aware of how to do that without frames at this point.
I would hardly call myself an expert in this area. However, I've never found anything you could put in an iframe that was better or easier than using CSS to style it. Anyway, you can have more than one stylesheet on a web page, so your calendar could have its own style and layout from a different stylesheet, too.