现在主流的网站,为什么都不用frame框架结构?

使用frame框架,应该能够减少网页的大小和http请求的数量,但现在看到主流的网站都不使用,点击链接更新的都是整个页面,是出于什么原因?

除了对搜索引擎不友好外,还有什么明显的缺陷吗?

阅读 25.6k
3 个回答

目前框架的所有优点完全可以使用Ajax实现,因此已经没有必要使用框架了。减少框架也可以减少出现XXS等问题。减少框架也可以减少一定请求。

但是有一些情况是必须使用框架,例如想把页面的JS独立隔离或者使用框架做一些跨域的Ajax请求。 例如腾讯微博,他通过框架代理,使所有Ajax请求Referer进行统一,既方便CRSF的控制也可以做到跨域的效果。例如腾讯微博的:http://message.t.qq.com/proxy.html 文件,他就是通过框架来实现跨域操作。

又例如在非HTML5的环境下要做到无刷新上传也可以通过框架构造一个上传文件环境。当然这个也可以用Flash代替。

框架的优点

  • 重载页面时不需要重载整个页面,只需要重载页面中的一个框架页(减少了数据的传输,增加了网页下载速度)
  • 方便制作导航栏

框架的缺点

  • 会产生很多页面,不容易管理
  • 不容易打印
  • 浏览器的后退按钮无效
  • 代码复杂,无法被一些搜索引擎索引到
  • 多数小型的移动设备(PDA 手机)无法完全显示框架
  • 多框架的页面会增加服务器的http请求
  • 由于上面诸多缺点,因此不符合标准网页设计的理念,已经被标准网页设计抛弃

引用自:dreamdu

  1. iframe高度控制很不方便,需要使用各种HACK,除非确定开发的是GReader之类的玩意;
  2. 想要用模态对话框时位置与遮罩都很烦,除非我就不打算用fixed的库了。

然后,看到GR之类的似乎也没用iframe的样子,就不考虑在这方面做太多尝试了……

推荐问题
宣传栏