frame 和 iframe 的区别
1、frame 不能脱离 frameset 单独使用,iframe 可以;
2、frame 不能放到body中,否则将无法显示;
3、iframe 也可以嵌套在frameset ,但是必须放到body中,不嵌套在frameset 中的iframe 可以随意使用;
4、frame 的高度只能通过 frameset 控制,iframe 是自己本身控制,不能通过 frameset 设置;
5、iframe 可以放到表格中;
有人说,iframe是能耗最高的一个素,尽量减少使用。
也有人说,iframe的安全性太差,尽量减少使用。
虽然他们说的是真的,但是iframe的强大功能是不容忽视的,而且现在不乏公司正在使用它。
<iframe> 标签规定一个内联框架。一个内联框架被用来在当前 HTML 文档中嵌入另一个文档。
所有的主流浏览器都支持<iframe>标签。你可以把提示的文字放到 <iframe> 和 </iframe>里面,这样不支持 <iframe>的浏览器就会出现提示的文字。
iframe 如何使用呢?
通常我们使用iframe直接在页面嵌套iframe标签指定的src就可以了。
比如:
<!--
<iframe> 标签规定一个内联框架
这里写p 标签是为了看align的效果
-->
<p style="overflow: hidden;">这是一些文本。 这是一些文本。 这是一些文本。这是一些文本。 这是一些文本。 这是一些文本。
<iframe name="myiframe" id="myrame" src="external_file.html" frameborder="0" align="left" width="200" height="200" scrolling="no">
<p>你的浏览器不支持iframe标签</p>
</iframe>
这是一些文本。 这是一些文本。 这是一些文本。这是一些文本。 这是一些文本。 这是一些文本。</p>
iframe 的常用属性:
name : 规定 <iframe> 的名称。
width: 规定 <iframe> 的宽度。
height :规定 <iframe> 的高度。
src :规定在 <iframe> 中显示的文档的 URL。
frameborder : 规定是否显示 <iframe> 周围的边框。 (0为无边框,1位有边框)。
align : 规定如何根据周围的素来对齐 <iframe>。 (left,right,top,middle,bottom)。
scrolling : 规定是否在 <iframe> 中显示滚动条。 (yes,no,auto)
上面代码中 iframe的src属性为自己本地的一个html页面
代码如下:
<body> <div id="div" style="height: 300px; background: #ddd;">这是一个外部文件里面的内容</div> </body> <script> var div = document.getElementById("div"); console.log(div); </script>
有什么交互的部分也是写到这个页面中,iframe会自动传到引入的页面的。
那如何获取iframe里面的内容呢?
var iframe = document.getElementById("myrame"); //获取iframe标签 var iwindow = iframe.contentWindow; //获取iframe的window对象 var idoc = iwindow.document; //获取iframe的document对象 console.log(idoc.documentElement); //获取iframe的html console.log("body",idoc.body);
但是,这里面是获取不到里面的DOM的,可以在URL中获取(也就是引入的html文件)
iframe 的优缺点
优点:
重载页面时不需要重载整个页面,只需要重载页面中的一个框架页(减少数据的传输,减少网页的加载时间);
技术简单,使用方便,主要应用于不需要搜索引擎来搜索的页面;
方便开发,减少代码的重复率(比如页面的header,footer);
缺点:
会产生很多的页面,不易于管理;
不易打印;
多框架的页面会增加服务气得http请求;
浏览器的后退按钮无效等;
由于诸多的缺点,不符合标准网页设计的理念,已经被抛弃,目前的HTML5不再支持此标签。
frame 的基本用法
由于 frame 不能脱离 frameset 单独使用,所以写法还是有所不同
<!--
noresize: 规定无法调整框架的大小
frameborder: 规定是否显示框架周围的边框 0为无边框 1为有
marginheight: 定义框架的上方和下方的边距
marginwidth: 定义框架的左侧和右侧的边距
noresize: 规定无法调整框架的大小
scrolling: 规定是否在框架中显示滚动条 yes no auto
src: 规定在框架中显示的文档的 URL。
-->
<!--
cols: 定义框架集中列的数目和尺寸
rows: 定义框架集中行的数目和尺寸
-->
<frameset rows="30%,50%">
<frame src="frame_one.html" frameborder="0">
<frame src="frame_two.html" frameborder="0">
</frameset>
cols 是竖排显示,rows 是横排显示。
<frameset cols="30%,50%"></frameset> 中的百分比是设置 frame 的尺寸。
今天的文章 frame与iframe的区别及基本用法分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/83533.html