最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

详解iframe与frame的区别_javascript技巧

来源:懂视网 责编:小采 时间:2020-11-27 21:48:45
文档

详解iframe与frame的区别_javascript技巧

详解iframe与frame的区别_javascript技巧:开门见山了,大家需要注意的地方:HTML5不再支持使用frame,iframe只有src 属性 一、使用iframe的优缺点 优点: 1.程序调入静态页面比较方便; 2.页面和程序分离; 缺点: 1.iframe有不好之处:样式/脚本需要额外链入,会增加请求。另外用js防盗链只防得了
推荐度:
导读详解iframe与frame的区别_javascript技巧:开门见山了,大家需要注意的地方:HTML5不再支持使用frame,iframe只有src 属性 一、使用iframe的优缺点 优点: 1.程序调入静态页面比较方便; 2.页面和程序分离; 缺点: 1.iframe有不好之处:样式/脚本需要额外链入,会增加请求。另外用js防盗链只防得了

开门见山了,大家需要注意的地方:HTML5不再支持使用frame,iframe只有src 属性

一、使用iframe的优缺点

优点:

  1.程序调入静态页面比较方便;
  2.页面和程序分离;

缺点:

  1.iframe有不好之处:样式/脚本需要额外链入,会增加请求。另外用js防盗链只防得了小偷,防不了大盗。
  2.iframe好在能够把原先的网页全部原封不动显示下来,但是如果用在首页,是搜索引擎最讨厌的.那么你的网站即使做的在好,也排不到好的名次!如果是动态网页,用include还好点!但是必须要去除他的<body>标签! <br />   3.框架结构有时会让人感到迷惑,特别是在多个框架中都出现上下、左右滚动条的时候。这些滚动条除了会挤占已经特别有限的页面空间外,还会分散访问者的留心力。访问者遇到这种站点往往会立刻转身离开。他们会想,既然你的主页如此混乱,那么站点的其他部分也许更不值得阅读。(这里面本人的观点就是子框架不要出现滚动条,窗口的滚动条只能有由主页面来控制)<br />   4.链接导航疑问。运用框架结构时,你必须保证正确配置所有的导航链接,如不然,会给访问者带来很大的麻烦。比如被链接的页面出现在导航框架内,这种情况下访问者便被陷住了,因为此时他没有其他地点可去。<br />   5.调用外部页面,需要额外调用css,给页面带来额外的请求次数;</p> <p>二、为什么少用iframe</p> <p>  iframes 提供了一个简单的方式把一个网站的内容嵌入到另一个网站中。但我们需要慎重的使用iframe。iframe的创建比其它包括scripts和css的 DOM 元素的创建慢了 1-2 个数量级。<br /> </p> <p>  使用 iframe 的页面一般不会包含太多 iframe,所以创建 DOM 节点所花费的时间不会占很大的比重。但带来一些其它的问题:onload 事件以及连接池(connection pool)。<br /> </p> <p>1.Iframes 阻塞页面加载<br /> </p> <p>  及时触发 window 的 onload 事件是非常重要的。onload 事件触发使浏览器的 “忙” 指示器停止,告诉用户当前网页已经加载完毕。当 onload 事件加载延迟后,它给用户的感觉就是这个网页非常慢。<br /> </p> <p>  window 的 onload 事件需要在所有 iframe 加载完毕后(包含里面的元素)才会触发。在 Safari 和 Chrome 里,通过 JavaScript 动态设置 iframe 的 SRC 可以避免这种阻塞情况。<br /> </p> <p>2.唯一的连接池<br /> </p><script type="text/javascript" src="https://jss.51dongshi.com/pcwz/wenzhong.js"></script> <p>  浏览器只能开少量的连接到web服务器。比较老的浏览器,包含 Internet Explorer 6 & 7 和 Firefox 2,只能对一个域名(hostname)同时打开两个连接。这个数量的限制在新版本的浏览器中有所提高。Safari 3+ 和 Opera 9+ 可同时对一个域名打开 4 个连接,Chrome 1+, IE 8 以及 Firefox 3 可以同时打开 6 个。你可以通过这篇文章查看具体的数据表:Roundup on Parallel Connections.<br /> </p> <p>  有人可能希望 iframe 会有自己独立的连接池,但不是这样的。绝大部分浏览器,主页面和其中的 iframe 是共享这些连接的。这意味着 iframe 在加载资源时可能用光了所有的可用连接,从而阻塞了主页面资源的加载。如果 iframe 中的内容比主页面的内容更重要,这当然是很好的。但通常情况下,iframe 里的内容是没有主页面的内容重要的。这时 iframe 中用光了可用的连接就是不值得的了。一种解决办法是,在主页面上重要的元素加载完毕后,再动态设置 iframe 的 SRC。<br /> </p> <p>  美国前 10 大网站都使用了 iframe。大部分情况下,他们用它来加载广告。这是可以理解的,也是一种符合逻辑的解决方案,用一种简单的办法来加载广告服务。但请记住,iframe 会给你的页面性能带来冲击。只要可能,不要使用 iframe。当确实需要时,谨慎的使用他们。<br /> </p> <p>三、iframe和frame的区别<br /> </p> <p>1、frame不能脱离frameSet单独使用,iframe可以;<br /> 2、frame不能放在body中;<br /> </p> <p>如下可以正常显示:<br /> </p> <div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><pre class="brush:js;"></pre></div></div></div></div></div></div> <br /> <p>  如下不能正常显示:<br /> </p> <div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><pre class="brush:js;"></pre></div></div></div></div></div></div> <br /> <p>3、嵌套在frameSet中的iframe必需放在body中;<br /> 如下可以正常显示:<br /> </p> <div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><pre class="brush:js;"></pre></div></div></div></div></div></div> <br /> <p>如下不能正常显示:<br /> </p> <div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><pre class="brush:js;"></pre></div></div></div></div></div></div> <p>4、不嵌套在frameSet中的iframe可以随意使用;<br /> </p> <p>如下均可以正常显示:<br /> </p> <div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><pre class="brush:js;"></pre></div></div></div></div></div></div> <br /> <p>5、frame的高度只能通过frameSet控制;iframe可以自己控制,不能通过frameSet控制,如:<br /> </p> <div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><pre class="brush:js;"></pre></div></div></div></div></div></div> <p>6、如果在同一个页面使用了两个以上的iframe,在IE中可以正常显示,在firefox中只能显示出第一个(firefox已经改进,这个问题已经不存在了);使用两个以上的frame在IE和firefox中均可正常</p> <p>小结:<br /> </p> <p>Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性。 frame是整个页面的框架,iframe是内嵌的网页元素,也可以说是内嵌的框架 Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示。它和Frame标记的最大区别是在网页中嵌入 的所包含的内容与整个页面是一个整体,而<Frame>< /Frame>所包含的内容是一个独立的个体,是可以独立显示的。另外,应用Iframe还可以在同一个页面中多次显示同一内容,而不必重复这段内 容的代码。 </p><p><script type="text/javascript" src="https://jss.51dongshi.com/pcwz/dysph.js"></script><p><strong>声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com</strong></p></div> <div class="downbox clearfix"> <div class="ico"><img src="https://js.51dongshi.com/tpl/pc2/images/document.png" alt="文档"></div> <div class="txt"> <h4>详解iframe与frame的区别_javascript技巧</h4> <div class="co">详解iframe与frame的区别_javascript技巧:开门见山了,大家需要注意的地方:HTML5不再支持使用frame,iframe只有src 属性 一、使用iframe的优缺点 优点: 1.程序调入静态页面比较方便; 2.页面和程序分离; 缺点: 1.iframe有不好之处:样式/脚本需要额外链入,会增加请求。另外用js防盗链只防得了</div> <div class="tj"><b>推荐度:</b><div class="tj_stars_list"><i class="tj_stars tj_05"></i></div></div> </div> <div class="btn"> <a href="javascript:;" class="html2word" data-model="article" data-id="acssbc" title="文档下载"> <b>点击下载本文</b> <span>文档为doc格式</span> </a> </div> </div> <script>keji_detail_ga('article_content_bottom');</script> <div class="tvideo_tag"> 标签: <a href="/tlist-9442/">区别</a> <a href="/tlist-54761/">比较</a> <a href="/tlist-141390/">详解</a> </div> <div class="tvideo_box tvideo_box_tab"> <div class="hd"> <ul><li class="on">热门焦点</li><script>keji_detail_ga('hot_jiaodian_tab_title');</script></ul> </div> <div class="bd"> <ul class="ult_jpic clearfix"> <script>get_hot_jiaodian_content('wz_hot_jiaodian',33,'hot',1);</script> </ul> </div> </div> </div> <!--中间文章 end--> <!--右侧专题 star--> <div class="ult_zt"> <script>keji_detail_ga('article_right_top');</script> <div class="ult_ztbox"> <h4>最新推荐</h4> <ul class="tvideo_r_a clearfix"> <script>get_detail_right('wz_right_new',33,'')</script> </ul> </div> <script>keji_detail_ga('article_right_middle');</script> <div class="ult_ztbox"> <h4>猜你喜欢</h4> <ul class="telist_rb clearfix"> <script>get_detail_right('wz_right_love',33,'')</script> </ul> </div> <script>keji_detail_ga('article_right_new_bottom');</script> <div class="ult_ztbox"> <h4>热门推荐</h4> <ul class="tvideo_r_b clearfix"> <script>get_detail_right('wz_right_hot',33,'')</script> </ul> </div> <script>keji_detail_ga('article_right_bottom');</script> </div> <!--右侧专题 end--> <div style="display:none"><a href="https://www.xyx234.com/wzztf/ac/acssbc/">专题</a> </div> </div> </div> <script src="https://js.51dongshi.com/plug/qrcode/qrcode.min.js"></script> <script src="https://js.51dongshi.com/js/share.js" charset="UTF-8"></script> <script type="text/javascript" src="https://js.51dongshi.com/tpl/pc2/js/waypoints.min.js"></script> <script type="text/javascript" src="https://js.51dongshi.com/tpl/pc2/js/icon_step.js"></script> <style> #qrcode{padding: 15px;background: #fff;} </style> <div id="qrcode" style="display: none"></div> <script>new QRCode(document.getElementById("qrcode"), "https://m.xyx234.com/eedfacssbc.html");</script> <iframe src="https://hits.51dongshi.com/?biao=ho_article&id=983368" border="0" frameborder="0" style="width: 0px; height: 0px"></iframe> <script src="https://js.51dongshi.com/js/shHighlighter.js"></script> <link rel="stylesheet" href="https://jss.51dongshi.com/js/fffz/css/box.css"> <script id="fffz" data-domain="//www.xyx234.com/index" src="https://js.51dongshi.com/js/fffz/fffz.js"></script> <script type="text/javascript" src="https://jss.51dongshi.com/pcwz/tj.js"></script> <div style="display:none"><script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?4b1ebb0298b66c8a109db070c4878833"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> <!--foot star--> <div class="footer"> <div class="m_box"> <div class="footer_in"> <a href="#" target="_blank">产品服务</a> <a href="#" target="_blank">发展历程</a> <a href="#" target="_blank">企业资讯</a> <a href="#" target="_blank">企业文化</a> <a href="#" target="_blank">关于我们</a> <a href="#" target="_blank">加入我们</a> <a href="#" target="_blank">联系我们</a> <a href="#" target="_blank">网站导航</a> <a href="#" target="_blank">网站律师</a> </div> <ul class="ftrlist"> <li> <a rel="nofollow" href="https://www.itrust.org.cn" target="_blank"> <img src="https://js.51dongshi.com/tpl/pc2/images/footer_logo01.gif" alt="中国互联网协会"></a> </li> <li> <a rel="nofollow" href="https://www.12377.cn/" target="_blank"> <img src="https://js.51dongshi.com/tpl/pc2/images/12377logo.png" alt="中国互联网举报中心"></a> </li> <li> <a rel="nofollow" href="http://www.cyberpolice.cn/" target="_blank"> <img src="https://js.51dongshi.com/tpl/pc2/images/footer_logo05.gif" alt="网络110报警服务"></a> </li> <li> <a rel="nofollow" href="http://www.creditchina.gov.cn/" target="_blank"> <img src="https://js.51dongshi.com/tpl/pc2/images/creditchina.gif" alt="信用中国"></a> </li> <li class="last"> <a rel="nofollow" href="http://www.shdf.gov.cn/shdf/channels/740.html" target="_blank"> <img src="https://js.51dongshi.com/tpl/pc2/images/footer_logo11.png" alt="中国扫黄打非网"><p>中国扫黄打非网</p> </a> </li> </ul> <div class="footer_co"> <a href="/" class="footlogo"><img src="https://js.51dongshi.com/tpl/pc2/images/logo_bottom.png" alt="懂视"></a> <p>Copyright © 2019-2024 <a href="/" target="_blank">51dongshi.com</a> 版权所有</p> <p> <a rel="nofollow" target="_blank" href="https://beian.miit.gov.cn/">赣ICP备2023002352号-2</a> </p> <p>违法及侵权请联系:TEL:177 7030 7066 E-MAIL:11247931@qq.com 本站由北京市万商天勤律师事务所王兴未律师提供法律服务</p> </div> </div> </div> <!--foot end--> <a href="#0" class="cd-top">Top</a> <script type="text/javascript"> $(function(){ var _line=parseInt($(window).height()/3); $(window).scroll(function(){ if ($(window).scrollTop()>100) { $('.edu_top').css({'position':'fixed','top':'0','z-index':'99'}) }else{ $('.edu_top').css({'position':'relative','top':'0'}) } }) }) </script> <script type="text/javascript" src="https://jss.51dongshi.com/ga/all.js"></script> <div style="display:none"> <script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1278135046&web_id=1278135046"></script><script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?70ec0a2c78df5a4a3d49e475e943ceb6"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script><script> (function(){ var src = (document.location.protocol == "http:") ? "https://js.passport.qihucdn.com/11.0.1.js?d1f620a645f12a1c5b0bbce7b998d51e":"https://jspassport.ssl.qhimg.com/11.0.1.js?d1f620a645f12a1c5b0bbce7b998d51e"; document.write('<script src="' + src + '" id="sozz"><\/script>'); })(); </script></div> </body> </html>