If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

HTML Fact-Check please (deals with frames)

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.

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.

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.