HTML 4.0 (the predecessor of 4.01) introduced something called frames, which split the browser's viewport up into different sections, each displaying a different webpage.
It was a good idea in concept, but the execution left a few things to be desired. Amongst the litany of woes:
Using the back button on a browser in frames tended to be unpredictable, depending on what frame was loaded when.
You could not bookmark a specific set of pages in the frameset's, only the default set.
Accessibility for the disabled was severely compromised.
Printing frames could also wasteful, as you might find yourself printing all pages displayed in the browser.
Viewers would have to download multiple pages: the page defining the frames, and all pages displayed by the frames.
Not all browsers during frames' heyday supported frames, so you had to code a no-frames version of your webpage.
So why were they ever used?
If you had a part of a webpage (usually the navigation) that you used over and over again, a frameset allowed you to put that code in its own webpage and display it apart from everything else. While server-side processing—explained in Server-Side Scripting—also was used for this, in many cases (such as website hosts at the time and websites that come on a CD, like this one), that simply wasn't available.
Speaking of navigation lists, they could be quite long, and frames allowed the list and the page proper to scroll seperately.
They were a means of arranging a page before CSS really came into its own.
For someone unused to programming, frames (which are HTML) were easier to work with than server-side scripts, which (for the most part) require some knowledge of a programming language.
The search engines have been able to read and follow <frameset>s for over ten years now, but that's not to say there are no issues. Google will often/usually just link to the <frameset> page now, even if it was an internal page that actually ranked for the user's query. Heaven knows what Bing does now, but its probably something similar.
And there are ways to mitigate the issue of someone following a link to a <frame> page with JavaScript, and a <noscript> section on the <frameset> page will do wonders for the SEO aspects. I don't endorse the use of <frame>s, I just wanted to squelch the myth about search engines not being able to read them.
My errors: Yes, typo HTML. Well, server-side PHP etc. is not too easy. The results you get by chopping up the browser window [replacing <BODY> tag] makes the whole page overly complicated and unwieldy.
Up until a year or so (when HTML5 became a hot topic), one of the professors teaching basic/beginner HTML where I tutor made students use <FRAMESET>. Made me so angry that he complicated HTML that way and students ended up with Web sites that did not function properly.
What effect do you want to achieve with <FRAMESET>? Do you have an online example to share? Maybe someone can suggest an alternative approach.
I for one don;t have the attitude or aptitude for AJAX coding.
=========
P.S. -- Re-reading note your purpose is an HTML "tutorial." Imagine a very brief "footnote" reference to <FRAMESET> would suffice. Think it would be more helpful to point out how <FRAMESET> worked than whether or not it was "easier" than server-side scripting.
Last edited by auntnini; 01-09-2013 at 05:55 PM.
Reason: P.S.
Bookmarks