博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iframe的应用
阅读量:4964 次
发布时间:2019-06-12

本文共 889 字,大约阅读时间需要 2 分钟。

   使用 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元素,可能更适合。

     

转载于:https://www.cnblogs.com/tfl123/p/6145127.html

你可能感兴趣的文章
出租车费(贪心算法)
查看>>
[leetcode] Best Time to Buy and Sell Stock with Cooldown
查看>>
canvas基础一
查看>>
jQuery插件扩展实例
查看>>
【bzoj2199】[Usaco2011 Jan] 奶牛议会
查看>>
ThreadLocal源码分析(转)
查看>>
MySQL 事务
查看>>
python构建bp神经网络_鸢尾花分类(一个隐藏层)__2.代码实现
查看>>
爬虫_糗事百科(正则表达式)
查看>>
JMS【四】--Spring和ActiveMQ整合的完整实例
查看>>
最少拦截系统
查看>>
Python—字符串的操作
查看>>
SQL Server 复制系列(文章索引)
查看>>
AngularJS学习笔记之初步了解
查看>>
IE8 CSS样式兼容性清单
查看>>
HDU2732 最大流
查看>>
pycharm 使用print不打印结果问题解决
查看>>
css进阶
查看>>
『分块算法初步』
查看>>
『扩欧简单运用』
查看>>