首页 > 试题广场 >

iframe是什么?有什么缺点?

[问答题]
首先说一下iframe有什么作用:
iframe元素会创建一个包含另一个文档的内联框架。
提示:可以将提示文字放在<iframe></liframe>之间,来提示某些不支持iframe的浏览器

优点:

  1. iframe能够原封不动的把嵌入的网页展现出来
  2. 如果有多个网页引用iframe,那么你只需要修改frame的内容,就可以实现所有调用该iframe的页面内容的更改,方便快捷。网页如果为了统一风格,头部和版本都是一样的,就可以写成一个页面,用iframe来嵌套,可以增加代码的复用性
  3. 如果遇到加载缓慢的第三方内容如图标和广告,这些问题可以由iframe来解决。

缺点:

  1. iframe会阻塞主页面的onload事件;
  2. iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载
  3. 会产生很多页面,不容易管理
  4. iframe框架结构有时会让人感到迷惑,如果框架个数多的话,可能会出现上下、左右滚动条,会分散访问者的注意力,用户体验度差
  5. 代码复杂,无法被一些搜索引擎索引到,这一点很关键,现在的搜索引擎爬虫还不能很好的处理frame中的内容,所以使用iframe会不利于搜索引擎优化(SEO)
  6. 很多的移动设备无法完全显示框架,设备兼容性差
  7. iframe框架页面会增加服务器的http请求,对于大型网站是不可取的。
  8. 安全性也是一大问题,过去我们访问一个网站,可能会突然唰唰唰跳过好几个网站,最后跳到了一个不知道又是啥的广告网站,这就表示我们的iframe被iframe了。



现在基本上都是用Ajax来代替iframe,所以iframe已经渐渐的退出了前端开发。

如果需要使用iframe,最好是通过javascript动态给iframe添加src属性值,这样可以绕开以上一些问题。

编辑于 2021-03-27 11:50:35 回复(0)

<p>创建包含另一个文档的内联框架</p>

会阻塞

不利于seo

共享连接池

编辑于 2020-08-29 15:11:07 回复(0)
HTML4.01 和 XHTML1.0 都不支持iframe标签。
iframe在当前页面中嵌入另一个文档。
发表于 2020-04-04 00:39:27 回复(0)