471,610 Members | 1,337 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,610 software developers and data experts.

Disadvantage of iframe?

People always criticize about iframe, but in fact, any figures/
evidence proved that we should not use iframe?

e.g.

% of browser didn't work with iframe?

Aug 29 '07 #1
18 8813
howa wrote:
People always criticize about iframe, but in fact, any figures/
evidence proved that we should not use iframe?

e.g.

% of browser didn't work with iframe?
http://www.google.com/search?query=iframe%20evil&num=50

--
Ed Mullen
http://edmullen.net
http://mozilla.edmullen.net
http://abington.edmullen.net
Please, Lord, let me prove that winning the lottery won't spoil me.
Aug 29 '07 #2
Tim Burkart wrote:
I'm working on a site
now where my client wants to display merchandise from the vendor site on
their own. The only way to do it is using the vendor's API.

Do you have any other recommendations?
Build the page on the server, and deliver it without iframes.

The problem you are going to encounter is that if a visitor wants to
bookmark that page, he can't do it. He can bookmark the page, but his
bookmark has no control over what appears in the iframe. If he really
likes the blue widget you offer, and he bookmarks the page while looking
at the blue widget, the next time he pulls up the page, the blue widget
won't be there.
Aug 30 '07 #3
In article <nN******************************@comcast.com>,
Scott Bryce <sb****@scottbryce.comwrote:
Tim Burkart wrote:
I'm working on a site
now where my client wants to display merchandise from the vendor site on
their own. The only way to do it is using the vendor's API.

Do you have any other recommendations?

Build the page on the server, and deliver it without iframes.

The problem you are going to encounter is that if a visitor wants to
bookmark that page, he can't do it. He can bookmark the page, but his
bookmark has no control over what appears in the iframe. If he really
likes the blue widget you offer, and he bookmarks the page while looking
at the blue widget, the next time he pulls up the page, the blue widget
won't be there.
Not possible in my case, for example. I need to load the iFrame
depending on an action the user just took. It's the only way I could
find so that the popups on the page contain just a few relevant items
rather than many thousand.
Aug 30 '07 #4
Tim Streater wrote:
In article <U8**************@nlpi068.nbdc.sbc.com>,
In my case its not a third party web site - it's my own. I have iFrames
inside table cells and use them to load popups. What they get loaded
with is based on a choice a user makes in another popup. The content to
be loaded is pulled from a mysql db.

I'm open to suggestions as to how to do this not using iFrames.
Use as URI of a specific page with a specific combination of cells a
scheme such as:

Matrix?cell1=content1&cell2=content2&cell3=content 3

Of course, names should be chosen wisely. Since I don't know your project,
I cannot find good names.

URI inside table cells should be of this form too.

Note that, the entire page will be reloaded when a link is followed.
Note also that, the code inside a cell does depend on the content of the
cell, as well as contents of other cells, as soon as the cell contains
hyperlinks.

This shouldn't be difficult to generate from a database.

You may use some AJAX stuff (gracefully *improving* when AJAX is not
available), but that would have all the usuability issues of iframes, with
more added.

--
You can contact me at <ta*****************@yahoDELETETHATo.fr>
Aug 30 '07 #5
In article <op.txvcnfcs7pu1mk@andre>,
"André Gillibert" <ta*****************@yahodeletethato.frwrote:
Tim Streater wrote:
In article <U8**************@nlpi068.nbdc.sbc.com>,
In my case its not a third party web site - it's my own. I have iFrames
inside table cells and use them to load popups. What they get loaded
with is based on a choice a user makes in another popup. The content to
be loaded is pulled from a mysql db.

I'm open to suggestions as to how to do this not using iFrames.

Use as URI of a specific page with a specific combination of cells a
scheme such as:

Matrix?cell1=content1&cell2=content2&cell3=content 3

Of course, names should be chosen wisely. Since I don't know your project,
I cannot find good names.

URI inside table cells should be of this form too.

Note that, the entire page will be reloaded when a link is followed.
Note also that, the code inside a cell does depend on the content of the
cell, as well as contents of other cells, as soon as the cell contains
hyperlinks.

This shouldn't be difficult to generate from a database.

You may use some AJAX stuff (gracefully *improving* when AJAX is not
available), but that would have all the usuability issues of iframes, with
more added.
This is going to look very clumsy :-)

I should explain that I have a cascade of four popups. When the page is
loaded initially, only popup #1 is populated. Popups #2, 3, and 4 are in
iFrames, and are initially empty. When the user chooses from #1, #2 is
loaded based on what they just chose. They then choose from #2 and this
loads #3. Same for #4. At any time they can go back to an earlier popup,
and choose something else. If they re-choose from popup #n, popups >n
are reset to empty.

Reloading the entire page would be a backwards step, in terms of
usability, than what I have now.
Aug 30 '07 #6
Scott Bryce wrote about iframe:
The problem you are going to encounter is that if a visitor wants to
bookmark that page, he can't do it. He can bookmark the page, but his
bookmark has no control over what appears in the iframe.
Even with iframes and current user agent, there's a solution (with a
drawback: more bandwidth used).

Instead of using a link with target=iframe-name, use a link to your
website, and, on the server side, generate the same page as previously,
with an iframe too, but a different src attribute for the iframe.

If possible, it's even better to replace the IFRAME by proper HTML code,
unless you don't own the resource refered-to by the IFRAME.
In that case, HTML embedding is not a proper solution; See my message
<op.txu99ffk7pu1mk@andre>.
--
You can contact me at <ta*****************@yahoDELETETHATo.fr>
Aug 30 '07 #7
Tim Streater wrote:
In article <op.txvcnfcs7pu1mk@andre>,
"André Gillibert" <ta*****************@yahodeletethato.frwrote:
>Use as URI of a specific page with a specific combination of cells a
scheme such as:

Matrix?cell1=content1&cell2=content2&cell3=conten t3
This is going to look very clumsy :-)

I should explain that I have a cascade of four popups. When the page is
loaded initially, only popup #1 is populated. Popups #2, 3, and 4 are in
iFrames, and are initially empty. When the user chooses from #1, #2 is
loaded based on what they just chose. They then choose from #2 and this
loads #3. Same for #4. At any time they can go back to an earlier popup,
and choose something else. If they re-choose from popup #n, popups >n
are reset to empty.
Well, you're just *imposing* a navigation model to the user.
Maybe you like the MDI browsers and like to tile 4 pages in an MDI window
(e.g. Opera has a "tile all automatically feature"), but that doesn't mean
every site visitor will want the same model.

The obvious solution is to provide normal, separate pages, with normal
links between pages.
Then, the user will browse them as he wishes.

You could argue that *you* know the ultimate best way to navigate and that
every user would be grateful that you impose this model, because all users
are morons and don't even know their browsers' features. After all, this
is your site, you're free to put it the way you want.

Maybe there's the "Wow factor" or maybe it's more Web2-ish, but I doubt
that this impresses users anymore (or that it ever impressed users).
Reloading the entire page would be a backwards step, in terms of
usability, than what I have now.
Yes, either keep these iframes, or use a more classical navigation model.

--
You can contact me at <ta*****************@yahoDELETETHATo.fr>
Aug 30 '07 #8
André Gillibert wrote:
That would be a good solution, if and only if the vendor site and Tim
Burkart's site have a tight cooperation. e.g. If the vendor's site
provides a reliable programmatic access (e.g. SOAP or an XML REST
interface) to their database.
The OP made reference to the vender's API. If the vendor provides an
API, then there can very well be tight cooperation.

If he likes the blue widget but not your site (which is likely to
happen if the two sites don't belong to the same company), he can
bookmark the "blue widget" without bookmarking the ugly enclosing site.
Which, I would guess, would defeat the OP's purpose. Someone likes the
blue widget, so he leaves the OP's site, and bookmarks a different
source for the blue widget. That can't be good for business.
Aug 30 '07 #9
Scott Bryce wrote:
The OP made reference to the vender's API.
It was Tim, not the OP, who made reference to the vendor's API.
Aug 30 '07 #10
In article <op.txvglaua7pu1mk@andre>,
"André Gillibert" <ta*****************@yahodeletethato.frwrote:
Tim Streater wrote:
In article <op.txvcnfcs7pu1mk@andre>,
"André Gillibert" <ta*****************@yahodeletethato.frwrote:
Use as URI of a specific page with a specific combination of cells a
scheme such as:

Matrix?cell1=content1&cell2=content2&cell3=content 3
This is going to look very clumsy :-)

I should explain that I have a cascade of four popups. When the page is
loaded initially, only popup #1 is populated. Popups #2, 3, and 4 are in
iFrames, and are initially empty. When the user chooses from #1, #2 is
loaded based on what they just chose. They then choose from #2 and this
loads #3. Same for #4. At any time they can go back to an earlier popup,
and choose something else. If they re-choose from popup #n, popups >n
are reset to empty.

Well, you're just *imposing* a navigation model to the user.
No, the navigation model is imposed by reality.

Popup #1 contains the projects we have going. For each project, there
are a number of sites around Europe (and sometime elsewhere). Once the
user chooses the project, popup #2 gets loaded with the relevant sites.
Each site contains several equipment items; when the site is chosen,
popup #3 gets loaded with the list of equipment. Popup #4 is for the
interface cards which may be plugged into the equipment.

Since there are more than 1000 equipment items, and 1600 such interface
cards, it would be very rude to just load each popup with all the
possibilities. The navigation model means the user is presented with the
*relevant* choices at each stage - and nothing stops them returning to
an earlier point and making an alternate choice.
Aug 30 '07 #11
Tim Streater wrote:

No, the navigation model is imposed by reality.
A URL would help us understand that reality.
Aug 30 '07 #12
Tim Streater wrote:
In article <nN******************************@comcast.com>,
Scott Bryce <sb****@scottbryce.comwrote:
>Tim Burkart wrote:
>>I'm working on a site
now where my client wants to display merchandise from the vendor site on
their own. The only way to do it is using the vendor's API.

Do you have any other recommendations?
Build the page on the server, and deliver it without iframes.

The problem you are going to encounter is that if a visitor wants to
bookmark that page, he can't do it. He can bookmark the page, but his
bookmark has no control over what appears in the iframe. If he really
likes the blue widget you offer, and he bookmarks the page while looking
at the blue widget, the next time he pulls up the page, the blue widget
won't be there.

Not possible in my case, for example. I need to load the iFrame
depending on an action the user just took. It's the only way I could
find so that the popups on the page contain just a few relevant items
rather than many thousand.
Ah...I thing call server-side scripting...

server-side script + db = many virtual pages

--
Take care,

Jonathan
-------------------
LITTLE WORKS STUDIO
http://www.LittleWorksStudio.com
Aug 30 '07 #13
Tim Streater wrote:
Popup #1 contains the projects we have going. For each project, there
are a number of sites around Europe (and sometime elsewhere). Once the
user chooses the project, popup #2 gets loaded with the relevant sites.
Each site contains several equipment items; when the site is chosen,
popup #3 gets loaded with the list of equipment. Popup #4 is for the
interface cards which may be plugged into the equipment.
I think you're using the word "popup" incorrectly here, and it may be
causing confusion.

A popup is a whole nother window that pops up, and it sounds like what
you're doing is dynamically populating a list.

If that's the case, and bearing in mind it's not what you asked for,
would a series of SELECT's not be better.

i.e. When a user selects from one list box, it populates the next with
a subset based on the selection. That's VERY easy to code for - and a
much more usable interface.
Aug 30 '07 #14
Tim Streater wrote:
>
Sorry - yes, you're right. I don't mean a popup window, I mean a
<select>. But I can't download all the possible selections when the page
is first loaded - it would be huge.
That wasn't my point.
My point was that there should be 4 successive pages with hyperlinks.

Unfortunately, most existing user agents don't permit one to "submit in a
new page", for HTTP GET forms.

You're just working around this interface problem of current (in year
2007) user agents.

--
You can contact me at <ta*****************@yahoDELETETHATo.fr>
Aug 31 '07 #15
In article <op.txw81oa47pu1mk@andre>,
"André Gillibert" <ta*****************@yahodeletethato.frwrote:
Tim Streater wrote:

Sorry - yes, you're right. I don't mean a popup window, I mean a
<select>. But I can't download all the possible selections when the page
is first loaded - it would be huge.

That wasn't my point.
My point was that there should be 4 successive pages with hyperlinks.

Unfortunately, most existing user agents don't permit one to "submit in a
new page", for HTTP GET forms.

You're just working around this interface problem of current (in year
2007) user agents.
My users don't view it as a problem. They have a single page, and an
efficient way of working through our infrastructure to select a single
interface on a single equipment item in a single location for a specific
project. Given that they are doing this twice at a time, so they can end
up choosing two interfaces widely separated geographically, to connect a
circuit to in our assets database, they would not view the idea of going
through 8 separate page reloads to accomplish this, with favour. And
your scheme means even more reloads if they change their mind, or make a
mistake.

You don't like iFrames. OK, fine. So propose a realistic alternative.
They work just fine for me.
Aug 31 '07 #16
Tim Streater wrote:
>
You don't like iFrames. OK, fine. So propose a realistic alternative.
With the quasi-zero information you provided, I couldn't find anything
good.
Now that you specified there were HTML forms, I have more information, and
IFRAMEs seem to be acceptable.

Of course, an URL, would be helpful.
They work just fine for me.
This argument is a falacy.
They've to work fine for your *clients*, not you.
Note: The fact that I don't adhere to the argument doesn't mean I don't
adhere to the conclusion.

--
You can contact me at <ta*****************@yahoDELETETHATo.fr>
Aug 31 '07 #17
In article <op.txxdmubo7pu1mk@andre>,
"André Gillibert" <ta*****************@yahodeletethato.frwrote:
Tim Streater wrote:

You don't like iFrames. OK, fine. So propose a realistic alternative.

With the quasi-zero information you provided, I couldn't find anything
good.
Now that you specified there were HTML forms, I have more information, and
IFRAMEs seem to be acceptable.
Thanks :-)
Of course, an URL, would be helpful.
Yes. I ought to make a test setup - you can't access our running system.
It's a bit of work though to make something sanitised.
They work just fine for me.

This argument is a falacy.
They've to work fine for your *clients*, not you.
Luckily most of them are a few desks away, at most. Most of the rest are
at our NOC in Paris. I get quite a bit of feedback from all of these,
much of which I implement.
Note: The fact that I don't adhere to the argument doesn't mean I don't
adhere to the conclusion.
Well, I was just trying to question what I have seen by lurking a bit
here - "iFrames considered bad". I can see that there are issues - but I
need the functionality.
Aug 31 '07 #18
André Gillibert <ta*****************@yahodeletethato.frwrote:
Unfortunately, most existing user agents don't permit one to "submit in a
new page", for HTTP GET forms.
Yeah, that's one of the features of Opera that I miss when I use Firefox.
In Opera, you can shift-click submit buttons (not just links) and have them
open in a new window/tab.
--
Darin McGrew, mc****@stanfordalumni.org, http://www.rahul.net/mcgrew/
Web Design Group, da***@htmlhelp.com, http://www.HTMLHelp.com/

"I used to have a handle on life, but it broke."
Aug 31 '07 #19

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

7 posts views Thread by Christopher J. Hahn | last post: by
3 posts views Thread by Angel | last post: by
6 posts views Thread by howa | last post: by
1 post views Thread by Z1P2 | last post: by
1 post views Thread by XIAOLAOHU | last post: by
reply views Thread by MichaelMortimer | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.