General Question

warpling's avatar

Are iFrames too archaic to use in a modern site?

Asked by warpling (841 points ) January 23rd, 2009

Hey guys,
I’m working on a robotics club site for school and it has to be on the school server, which doesn’t have php or sql or any real server side tools. I would like a CMS blog that can be managed by others and have elected to embed a tumblr. I know you can embed the script and format it with css, but for now this was easier and appears to work fairly well. I like to be as semantic as possible so iFrames don’t seem like the right solution. Anyone have ideas for a better way to embed a tumblr? site

Observing members: 0 Composing members: 0

20 Answers

MrItty's avatar

iFrames were never a correct solution, for anything. They’re a microsoft invention, and no browser but IE ever supported them the way Microsoft intended them to be.

I have no idea what you mean by “like to be as semantic as possible”, as the word ‘semantic’ doesn’t fit, so I don’t know what word you actually meant.

Creating a separate <div> and formatting for style and layout with CSS is the correct solution.

warpling's avatar

By semantic I mean the most simple elegant solution. creating a page inside a page isn’t very clean or simple. Now that I know its a Microsoft invention I have to make it work with css. What were iFrames actually intended for?

cwilbur's avatar

Your use of “semantic” is idiosyncratic; generally, it means that things are well-labeled as to their content. For instance, using heading tags to indicate the page outline, and meaningful class and id names.

If what you mean is “clean and elegant,” say “clean and elegant.”

NaturalMineralWater's avatar

iframes are just a “knick-knack” of the past. To answer your question, yes they are too archaic. Your website needs to function no matter what browser it’s viewed in. I would steer clear of any proprietary “loopety-fruit” (as i like to call em) .

squirbel's avatar

Yes.

What you can do is store the scripts on another site, and just outsource your code to that site.

warpling's avatar

@Wilbur I am sorry? I guess I do use a broader use of the word.
@NaturalMineralWater I like that name, heh. Never knew iframes were propritary before. I will work with a script and css. thank you.

MrItty's avatar

Wilbur and Warpling, I have no idea what word either of you are thinking of, but semantic isn’t it.

http://dictionary.reference.com/browse/semantic

Semantic means “having to do with meanings in language”. It has absolutely nothing to do with “well-labeled” or “clean and elegant”.

cwilbur's avatar

@MrItty: the idea of the semantic web is that the meaning is marked—that titles are labeled as titles, that picture captions are labeled as picture captions. This is so that search engines can infer meaning—hence, “semantic markup”—from webpages.

It’s a term of art, and thus naïvely looking it up in a general-purpose dictionary will only confuse the matter.

squirbel's avatar

To second cwilbur:

In web terms, semantic has to do with the clean and elegant labeling of terms in web markup.

funkdaddy's avatar

@warpling – I wonder if your school would allow for a PHP/mySQL solution that didn’t require an install? Check out Uniform Server it just runs as a service in Windows and essentially runs a server in its directory structure. So if you can upload the files to the server, and have a way of starting the service, then you can have all the server side goodies you’re looking for.

—————————————
Regarding the “semantic” discussion – The excerpt, from a couple years ago in Digital Web Magazine covers both points that have been made.

Defining “semantic” is a fool’s errand—it means “having to do with meaning,” so any theoretical discussion on the matter is difficult.

Practically speaking, however, semantic markup is markup that is descriptive enough to allow us and the machines we program to recognize it and make decisions about it. In other words, markup means something when we can identify it and do useful things with it. In this way, semantic markup becomes more than merely descriptive. It becomes a brilliant mechanism that allows both humans and machines to “understand” the same information.

smartbob's avatar

Just to provide an opposing perspective, not that I endorse iframes or anything, check out http://www.worldofwarcraft.com
they use iframes for all of their menus. I can’t think of a good reason, aside from hiding content from search engines. If you use javascript to fill in the iframe, the search engine will not see any of the content in the iframe. That is the only reason I use iframes for anything.

back to answering the actual question, a normal frameset is one solution to your problem. So setup the cms wherever you want, then put a tiny little page on the school server with a frameset that has your logo and instructions or whatever on a tiny top banner thing, then use the rest of the page as a frame to your cms.

If you want to install your own server, I recomment xamp as it is really easy to setup and use.

warpling's avatar

Thank you, I’ll definitely check that out. Interesting point as well.
Thanks to everyone for clarifying semantic, lol

klaas4's avatar

You know, everybody can now say they are outdated, but back in the old days (when I was like 7~8) iframe’s were perfect for some, in fact, for me! There are still some homepages that use iframes for the header, nav and content. (think of all those lycos.com member sites)

But indeed, for a modern site, I have to agree that they are outdated.

MrItty's avatar

The only people they were “perfect” for were people who didn’t realize there was more than one browser in the world, and didn’t care if a fairly large portion of the web-browsing public couldn’t see their page.

klaas4's avatar

@MrItty: okay, so perfect is a big word. Perhaps “good enough” is better. :)

jumpo7's avatar

Back to the point of discussion. iframes are supported by the other browsers and can be used to solve certain problems, but are better left for when there is no other way. This is one of those cases, where in order to pull in the content from another location without javascript or a scripting language, you need to use frames of one kind or another. As you indicated you could do the same with CSS and javascript, but those have their own challenges.

Regardless of support, there can definitely be differences between browsers in the actual display of content. So you should test your site in the major browsers that are used by the visitors of your site. To support visitors who use browsers that do not understand iframes, you can insert links to content between the tags with something like the following;

<iframe src=“http://external.com/page.htm”>
<a href=“http://external.com/page.htm” target=“_blank”>view stories in new window</a>
</iframe>

It does not have to say “you need frames to see this content”. Of course users will end up on the other site, but you can always link back to your main site.

I assume you have many sources for what you have done but some great examples are here: w3schools

By the way, the site looks very nice, especially for a highschool club.

martijn86's avatar

You can use layers, with z-indexes that include <?php includes.. you can be way more creative once you lose the old iframe method.

I’ve used this before to display external content, a half transparent black layer covers the website and a div 80% your viewport size includes the chosen content. Nice way to present conenten and 100% valid.

funkdaddy's avatar

@martijn86 – do you have an example of what you’re talking about? Are you still using the iframe on the overlay or including the external site some other way?

martijn86's avatar

I would always try to avoid using iframes BUT If you want to still be able to browse the content inside, iframes are the way to go.

http://www.phatfusion.net/multibox/

This is a cool way of embedding websites, the example loads a fully usable site of the BBC. Follow the instructions and you can hardly go wrong (if so, there’s a forum). It uses iFrames just for the full website content.

funkdaddy's avatar

@martijn86 – Thanks for the link, good stuff.

Answer this question

Login

or

Join

to answer.

This question is in the General Section. Responses must be helpful and on-topic.

Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
or
Knowledge Networking @ Fluther