JSONP vs IFrame?

Har*_*ldo 9 html javascript seo jsonp widget

很快我就需要构建一个我们的客户可以嵌入自己网站的小部件.

为了将来证明我的小部件,嵌入代码将是这样的:

<script type="text/javascript" src="path/to/remote/file.js"></script>
<div id="my_widget"></div>
Run Code Online (Sandbox Code Playgroud)

iframes与JSONP的优点和缺点是什么?

iframe有任何常见的基于SEO的问题吗?

Jul*_*urg 9

首先,iframe和jsonp不是互斥的:一个是渲染均值,另一个是通信均值.

您的选择是在文档内包含(即在主机DOM中创建小部件)或在iframe中包含(即为小部件创建一个新的独立DOM).

iframe的优点是沙盒:小部件与主机的javascript和css之间没有冲突.这意味着你可以安全地:

  • 使用/定义您想要的任何JavaScript库
  • 使用简单的html代码和简单的css规则(这是一个明显的维护奖励)

至于缺点:

  • iframe重量很重,可能会严重降低主页的渲染速度
  • iframe也会消耗更多的内存和资源,如果主机页面是在移动设备上定位的话,这可能会有问题

因此,如果假设使用您的小部件的人愿意为其"适应"他们的页面是合理的,那么就采用文档内的方式.如果没有,请使用iframe但要了解限制.

至于SEO问题,只要你动态创建小部件(无论是文档内还是iframe),搜索引擎都不会看到它.我不知道如果这就是你想要的,但那就是你会得到的;)

  • 我与很多广告提供商合作,我可以向你保证,涉及iframe的解决方案是性能杀手.加载窗口小部件的时间(例如,如果它需要准备好文档)和主机页面呈现和可用的时间之间存在差异.如果你所暗示的JSONP是真的,那么没有人会建议动态脚本加载作为快速页面渲染的解决方案. (4认同)