zoukankan      html  css  js  c++  java
  • 使用iframe的好处与坏处详细比拼

    一、使用iframe的坏处

    1.搜索引擎的蜘蛛不会识别在iframe中被调用的图片、文本、url等内容的,因为该内容不属于该页面,只是访问的时候被临时的调用,而且在SEO建议中也有提到:“frame/frameset/iframee标签,会导致百度spider的抓取困难,建议不要使用”这样更能证明其弊!

    2.虽然使用iframe标签有它的好处,但是在页面中不是使用越多就越好,因为使用大量的iframe标签会稀释你该页面的关键词密度并对其产生影;

    3. iframe本身是一个比较消耗浏览器资源的组件,可以通过调整js代码让iframe等到页面完成后加载,不过还是会出现繁忙指示器,用户体验不太好。iframe也可以用一个比较别扭的方法实行动态异步加载;这就是大部分动态数据采用ajax返回而不是iframe嵌套动态页面,比如jsp等页面;

    4. iframe是不友好元素,可以让引擎看到的东西和网民看到的不一样.你自己做个页面实验一下就很快发现结果了.网站被挂马,很容易掉排名.这个大家都应该知道的吧?  因为被挂马很多时候是因为木马使用的是iframe代码插入.

    5.下面是iframe影响性能的简介,摘自其他文章

     使用 iframe 可以轻易的调用其他网站的页面,但应谨慎使用。它比创建其他 DOM 元素(包括 style script)多耗费数十甚至数百倍的性能。增加100个不同元素的时间对比显示 iframe 是多么耗费性能:

     

    使用 iframe 的页面通常没有这么多 iframe,所以创建 DOM 的时间不用多虑。更值得关心的是 onload 事件和连接池。

    iframe 阻塞 onload

    window onload 事件尽快执行非常重要。这会让浏览器的载入进度指示器完成,用户依据此判断页面是否已经加载完。而 onload 事件延迟,会让用户感觉页面变慢。

    window onload 事件直到它所包含的所有 iframe,以及所有 iframe 中的资源完全加载完成后才会触发。在 Safari Chrome 中,用 javascritpt 动态的给 iframe src 赋值可以避免这种阻塞行为。

    一个连接池

    对每个 web 服务器来说,浏览器只打开极少的几个连接数。老的浏览器,包括 IE 6/7 Firefox 2,每个主机只有2个连接。在新的浏览器中,连接数增加鸟。Safari 3+ Opera 9+ 增至4个,Chrome 1+ IE 8 Firefox 3 增至6个。

    人们可能期望每个 iframe 有单独的连接池,但并非如此。在大多数浏览器中,连接被主页面和它的 iframe 所共享,这意味着有可能 iframe 中的资源占用了可用连接而阻塞了主页面的资源加载。如果 iframe 中的内容同等重要,或比主页面更重要,这很好。然而在通常情况下 iframe 中的内容对页面来说不太重要,iframe 占用连接数是不可取的。一个解决方案是在优先级更高的资源下载完成后再动态的给 iframe src 赋值。

    美国的10大网站中有5个使用了 iframe。它们多数用来加载广告。这不是很合适,但可以理解,这是一个简便的在内容中插入广告的途径。在很多情况下,使用 iframe 是合理的。但要意识到这对你的页面的性能影响。非必要时,请谨慎使用。

    二、使用iframe的好处:

     1.从其弊中我们可以联想到例外一个html中常用的标签nofollow,既然使用iframe标签可以让蜘蛛对该部分抓取困难,那我们就可以把我们网站的一些需要给用户看的,而不需要给搜索引擎看到的信息使用iframe标签来设计,这样就可以让iframe变废为宝了,而且有代码瘦身的作用,举一个例子,比如一些大型网站首页的备-案信息,荣誉zhengshu,认证等之类的链接,这些我们不需要给搜索引擎看,因为这样稀释了网站首页的权重,我们就可以搭配iframe来使用,而且只需要在首页被使用,其他页面可以不需要这些信息,是不是很完美呢。

    2. 可以使用iframe来调用广告,这样会避免seo的拒收录的情况;各大门户网站新浪、腾讯、网页、搜狐等等......都用了iframe标签调用广告

     

  • 相关阅读:
    C#-MessageBox全部函数重载形式及举例
    在软件开发中应用80:20原则
    C# 程序员最常犯的 10 个错误
    关于vs2013调试的偶然错误发现与总结(vs2013的承载进程)---ShinePans
    C#好书盘点
    C#中 父类与子类相互强制转换之实验
    如何用C#语言构造蜘蛛程序
    C#创建word,操作、读写
    Linux less/more命令详解
    Linux 环境变量详解
  • 原文地址:https://www.cnblogs.com/yangkai-cn/p/4016688.html
Copyright © 2011-2022 走看看