Javascript 广告加载的iframe好还是坏?

Javascript 广告加载的iframe好还是坏?,javascript,html,iframe,ads,Javascript,Html,Iframe,Ads,根据雅虎的说法,使用iFrame的好处是: 有助于处理诸如徽章和广告等第三方内容 并行下载脚本 但缺点是: 即使是空白也很昂贵 块页面加载 我想使用iframe加载广告,方法如下: 使用这种技术是否意味着一旦iframe请求的html内容返回到客户端,它就会加载广告脚本,从而可能阻止页面的其余呈现和下载?或者,在下载和呈现文档的其余部分时,iframe请求是否会同时得到处理 然而,我并不想讨论广告是好是坏的理念。内部iframe的渲染与外部页面同时处理。iframe中的任何javasc

根据雅虎的说法,使用iFrame的好处是:

  • 有助于处理诸如徽章和广告等第三方内容
  • 并行下载脚本
但缺点是:

  • 即使是空白也很昂贵
  • 块页面加载
我想使用iframe加载广告,方法如下:

使用这种技术是否意味着一旦iframe请求的html内容返回到客户端,它就会加载广告脚本,从而可能阻止页面的其余呈现和下载?或者,在下载和呈现文档的其余部分时,iframe请求是否会同时得到处理


然而,我并不想讨论广告是好是坏的理念。

内部iframe的渲染与外部页面同时处理。iframe中的任何javascript都只会阻止在iframe中加载内容


编辑:另外,我刚刚注意到我回答了你之前关于这个主题的问题,正如上面所解释的,只要你愿意(例如,在页面的其余部分加载之后),就可以触发javascript中的iframe加载。

我不太清楚为什么Yahoo列表会显示“阻止页面加载”。iframe独立于父页面加载,特别是如果iframe内容位于与主页不同的域中。“Blocks page onload”似乎与pros相矛盾,两者都是由于iframe加载的并发性

现在,如果您有一个iframe,它正在从与主页相同的域名加载内容,那么这可能会落入浏览器对每个域的连接限制,从而影响主页下载内容的速度。但是,如果iframe URL是不同的域,则每个域应有自己的连接限制

iFrame最大的优点是安全隔离。当您将第三方脚本加载到iframe中时,您不必担心第三方脚本会占据页面,到处乱涂乱画,或者从脚本变量中窃取用户数据


iFrame最大的缺点也是安全隔离保护您免受第三方攻击的砖墙也使得在同一网页上的各方之间交流/共享信息变得非常困难。

如果您正在投放广告,您可能希望使用AdSense(或者至少测试一下)。谷歌AdSense机器人不喜欢iframes:


它如何阻止页面加载?而且它唯一的代价是因为实施。责怪浏览器的人,而不是iframe的原始设计。@Pyro我认为他不会责怪任何人,只是做一个好网站。我在我的网站上发布谷歌广告已经有一段时间了,它依赖于JS生成的iframe,没有发现任何问题。通常(但并非总是)我的内容在添加之前加载(当广告赢得比赛时,因为它们是纯文本的,我的页面很长。^^')。@tloflin谢谢。这就是我试图理解的。我想知道2020年iframe延迟加载时这个问题的答案是如何变化的?+1用于上下文保护,但请注意,为了安全起见,您需要将iframe放在不同的主机名上。否则,您仍然会邀请广告网络和他们信任的任何人跨站点脚本进入您的安全上下文;如果他们愿意,他们可以控制用户与任何页面的交互,以执行用户有权执行的任何操作。“阻止页面加载”意味着iFrame会阻止
窗口。onload
事件不会提前触发,但他们当然不会阻止页面加载过程