三沣开发知识 购物 网址 游戏 小说 歌词 地图 快照 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 开发 租车 短信 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题
autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml
html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
站长资讯 .NET新手 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA VisualStudio ASP.NET-MVC .NET控件开发 EntityFramework WinRT-Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动 Html-Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP OracleERP DynamicsCRM K2 BPM 信息安全 企业信息 Android开发 iOS开发 WindowsPhone WindowsMobile 其他手机 敏捷开发 项目管理 软件工程 SQLServer Oracle MySQL NoSQL 其它数据库 Windows7 WindowsServer Linux
  IT知识库 -> Html-Css -> HTML的iframe标签妙用 -> 正文阅读
 

[Html-Css]HTML的iframe标签妙用

HTML的iframe标签妙用 在我自己的日常前端开发中,其实iframe标签出现的次数并不是很多。作为一个很古老(浏览器兼容性非常好)的标签,有必要去了解一下它的典型应用场景。

(图片说明:所有浏览器都支持iframe,无论什么版本)
在什么情况下使用iframe呢?其实iframe有很多奇技淫巧的用法,但是最重要的一个特点是:<iframe>提供了一个和浏览器当前窗口相隔离的沙箱环境,相当于网页内部新开的另一个窗口。<iframe>外部的css/javascript,不会影响到<iframe>里面的样式或DOM。同时,<iframe>内部的css/javascript也不会影响<iframe>外部的样式和DOM。因此,iframe可以用于引用站外的网页。常用于CMS系统,富文本编辑器等场景。
我们常用的在线执行前端代码的网站,例如 http://jsfiddle.net/ , 以及新手常用的 http://www.w3school.com.cn/ 里面的“亲自试一试”功能,其实都是使用了<iframe>标签来实现。接下来就以w3school来举个例子。

我们在左边编辑页面,点击提交代码之后,就可以在右侧查看到效果了。试想一下,右边“查看结果”区域就是一个iframe,提供了一个隔离于当前网页的环境。否则的话,我们在左侧设置了<p>标签背景为红色,如果没有iframe,那么整个网页上的p元素可能都会变成红色。
我们查看该网页的源代码其实可以看出这个页面的工作原理。我去掉了一些多余的代码和html标签,最核心的部分如下:

执行的流程如下:
1. 用户点击了提交按钮,执行submitTryIt函数
2. 在submitTryIt函数中,先获取到编辑html区域(即用户自己编辑的区域)的值,并赋值给隐藏的中转区域
3. submitTryIt中执行表单提交操作(即submit函数),将隐藏的中转区域里面的内容(即用户自己编辑的区域内容)传到了后台接口v.asp
4. 表单提交到v.asp这个链接之后,返回了什么呢?其实,并没有做任何处理,原封不动的返回了。如下图:

5. 这个时候你一定奇怪,原封不动返回的内容,为什么会在“查看结果”区域(即iframe里面)执行出效果来?重点来了,请注意<form>标签上有个属性target="i",而<iframe>标签上也有一个属性叫做name="i",他们两个属性都叫做字母“i”,可不是作者瞎写的。这个的意思是说,将form表单提交,返回的结果提交到以target的值为name的窗口中。关于form表单的target值,可以参考这里:http://www.w3school.com.cn/tags/att_form_target.asp 。这就解释了为什么返回的内容可以在iframe里面展示出来了。由于iframe的隔离性,你不管提交什么代码,都只能影响到iframe里面的区域,不会影响到页面上其他部分。
本文的最后,顺便提一个问题,既然iframe有这么好的隔离性,如果我真的要和iframe里面的内容做通信或其他交互,应该怎么办呢?有兴趣的话大家调研一下吧~postmessage
  Html-Css 最新文章
近期前端中的 一些常见的面试题
近期前端中的 一些常见的面试题
localStorage使用总结
前端
图文详解前端CSS中的Grid布局,你真的可以5
CSS3 按钮特效(一)
HTML的入门概念
img的属性alt 与 title的区别
一种基于匹配回朔的 css3 选择器引擎实现
reset
上一篇文章      下一篇文章      查看所有文章
加:2017-12-06 23:27:23  更:2017-12-06 23:27:30 
 
技术频道: 站长资讯 .NET新手区 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA Visual Studio ASP.NET MVC .NET控件开发 Entity Framework WinRT/Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动设计 Html/Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP Oracle ERP Dynamics CRM K2 BPM 信息安全 企业信息化其他 Android开发 iOS开发 Windows Phone Windows Mobile 其他手机开发 敏捷开发 项目与团队管理 软件工程其他 SQL Server Oracle MySQL NoSQL 其它数据库 Windows 7 Windows Server Linux
脚本语言: vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程
网站开发: CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2017年12日历
2017-12-17 18:08:58
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT知识库