zoukankan      html  css  js  c++  java
  • iframe的应用

       使用 iframe 是不是一个好的用法(good practice),不能一概而论,但是可以肯定是,现在的大部分网站避免采用这种方式的。iframe 一直是浏览器标准规范之一,只有很早期的浏览器不支持 iframe,现在几乎已绝迹。所以从兼容性上来说,iframe 是没问题的。

      那么现在什么时候会用到 iframe 呢?



      因为 iframe 的页面和父页面(parent)是分开的,所以它意味着,这是一个独立的区域,不受 parent 的 CSS 或者全局的 JavaScript 的影响。
      典型的,比如所见即所得的网页编辑器(WYSIWYG Online HTML Editor),因为它们需要 reset 自己的 CSS 到自己的标准,而不被 parent CSS 的 override。

      说到上面一点了,顺便说一下,知乎的这个编辑器不是用 iframe,它使用了一种叫 contentEditable 的属性,用来启用页面元素的编辑,在早期版本 IE 下不支持的。

      正是因为刚刚提到的 iframe 等于新建了一个全新的,不受 parent 影响的页面上下文,所以在一定程度上,类似于沙箱隔离(sandbox)。
      除此之外,如果有可以不用 iframe 来解决的问题,还是避免使用 iframe。
      替代方案一般就是动态语言的 include 机制、ajax 动态填充内容,以及以后会普及的 contentEditable。

         所以如果你需要独立的浏览上下文,那么就用 iframe,否则就不用。

       历史上,iframe 常被用于复用部分界面,但是多数情况下并不合适。

        现在,应该使用 iframe 的例子如:
    1. 沙箱隔离。
    2. 引用第三方内容。
    3. 独立的带有交互的内容,比如幻灯片。
    4. 需要保持独立焦点和历史管理的子窗口,如复杂的Web应用。

    注:登录弹窗用 iframe 未必合适。HTML标准新增了dialog元素,可能更适合。



         

  • 相关阅读:
    jquery笔记
    css选择器
    Linq 巧用 Max,Sum
    Linq Aggregate
    Linq 对象的比较 Contains,Max
    Linq SelectMany 交叉连接
    JQ 标签相关知识
    C# HttpClient设置cookies的两种办法 (转发)
    使用 HttpClient 请求 Web Api
    MySQL 避免重复数据的批量插入与批量更新
  • 原文地址:https://www.cnblogs.com/tfl123/p/6145127.html
Copyright © 2011-2022 走看看