Why is it Frames were deprecated in HTML5 but not iFrames. After all, there is almost no difference between the two. In many instances using either of them would give the same output (pardon me if I am Wrong)?
问题:
回答1:
Inline frames are used to embed "plugins" into parts of a page. Seen google maps on a website before? Those are iframes.
Actual frames on the other hand are quite pointless. They're virtually never used in professional websites. If you ever go to a high school you may see IT projects that use frames for "navigation bars" or something. They take up half the page (or however you configure it) and are loaded as a separate page.
Simply put: iframes can be used as plugins. Frames are inelegant and not very useful
Edit: To be more specific, iframes and frames are quite different. Using my google maps example, and iframe would should a little box on the page as you're use to it. A plain frame would take half the screen to display (you can set up many frames so that a particular frame is in the middle of the screen, but why do that when you can use an inline frame?)
回答2:
Frames were a great feature in previous versions of html. However for many reasons(most of which are beyond my understanding) they were removed. Iframes are used for embedding applications and frames are used for other things like templating.
Frames had a wierd behavior in the browser though, the url does not change (like this website) even if the source of a frame changes. This is because you are viewing multiple web pages at a time with frames. In html5 this made no sense(iframes and frames do mostly the same things but the frame tag has a bad specification) and the w3c removed them because they were deprecated for a while anyway.
回答3:
<frame>
work completely different than <iframe>
and are generally non-user friendly. Most implementations are such that the site's main address always appears in the address bar, no matter where you are in the site. This makes it next to impossible to bookmark the page, send a link to another, etc.
Basically, frames are the 'goto' statement of the HTML world. Sure, they can be useful, and they can be done well, but most of the time it's just bad programming done by bad programmers.