【问题标题】:What is the downside of putting your entire website inside an iframe of the main landing page?将整个网站放在主着陆页的 iframe 中的缺点是什么?
【发布时间】:2012-03-19 06:13:07
【问题描述】:

我的网站底部有一个类似 facebook 的聊天栏,我还有一些其他 javascript 和 ajax 相关代码在页面加载时加载,我还没有完全 ajaxified 这个网站,但必须将它投入生产问题就是这些脚本每次页面刷新的时间太长,只是为了初始化而已。所以我想把它们拿出来,把整个网站放在一个 iframe 或框架集中,把这段代码放在框架的外面。

我记得在 SO 社区中,人们总是被告知要远离框架集,甚至 iframe 也会得到很多 cmets。有人可以启发我吗?我该怎么办?

我正在使用很多 html5 功能,例如 webstorage 和很多 css3,如果这有什么不同的话。 感谢您的任何见解!

【问题讨论】:

  • 我谦虚地建议优化您的 JavaScript 并避免使用 iframe 和框架。例如。只使用一个大脚本而不是几个小脚本。使用像 jQuery 这样的 JavaScript 框架:这个库被缓存在大多数浏览器中,因为许多大型网站都使用它。有 iframe 的应用程序,但这不是其中之一。相框......我相信我奶奶用过它们;-)
  • 如果需要太长时间,请弄清楚为什么需要太长时间。
  • @epascarello 我认为有内存泄漏什么的。我怎样才能弄清楚?

标签: javascript ajax html iframe frameset


【解决方案1】:

Googlebot 会忽略 iframe,但有时配置错误的机器人可能会看到它。百分之九十九的时间 iframe 将被完全忽略。雅虎也是如此。

iframe 在客户端执行,而 Google 根本不执行它们。

【讨论】:

    【解决方案2】:

    你的意思是的缺点是什么?

    1. 请求过多
    2. 加载整个页面需要很长时间
    3. 没有搜索引擎优化

    改用 ajaxified 网站。可能需要一些时间和精力才能开始,但这是值得的。

    【讨论】:

      【解决方案3】:

      如果您希望 Google 等搜索引擎将您的内容编入索引,请不要使用 iframe。谷歌忽略了这些。框架和 iframe 都比例如框架更难处理或更难处理。容器,尤其是 JavaScript。关于框架:谷歌会将其编入索引,但会将每个框架作为单独的内容处理,这对 SEO 不利。 (据我所知)。

      【讨论】:

        【解决方案4】:

        您是否考虑过在加载事件触发后才运行 javascript?如果脚本下载时间有问题,您甚至可以让它等到加载事件被下载。至于关于框架的问题,最大的缺点是来自框架内部的您无法轻松地与浏览器窗口通信(您可以制定一些从窗口到框架的轮询协议,但这并不容易)。您是否使用任何 js 库来帮助您?

        【讨论】:

        • 不是真的,我有 jQuery,我正在考虑添加 Modernizer 但没有其他库
        • 使用 jQuery 在页面加载后运行耗时的 js 应该不难。
        • 是的,它已经在页面加载后运行,但即便如此,特别是在 IE 中,每次初始化时它都会冻结浏览器几秒钟。这比页面加载更糟糕,因为用户已经在与页面进行交互。
        • 你能把它分成几个小部分,并在每个部分结束时将下一个部分安排在计时器上吗?这将使事件循环运行并且不会冻结浏览器。
        【解决方案5】:

        一般来说,预计 Google 不会找到您的内容。这将使您更难建立受众群体或寻找您的人找到您。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-01-26
          • 1970-01-01
          • 1970-01-01
          • 2016-03-11
          • 1970-01-01
          • 1970-01-01
          • 2011-01-15
          相关资源
          最近更新 更多