Javascript 延迟加载使用document.write的双击广告的最佳方法是什么?
通过双击请求的广告通常从广告提供商网络获得服务,该网络返回javascript,然后执行document.write以在页面中放置广告。使用document.write要求打开文档,这意味着页面尚未到达document.complete。这会妨碍延迟或延迟加载广告内容。将这样的代码放在页面底部是有帮助的,但这不足以减少非常重要的“页面加载”时间。“友好的iFrame”是我们最好的吗?是否有其他替代方法,例如覆盖document.write的聪明方法,可以在dom中保留适当的位置Javascript 延迟加载使用document.write的双击广告的最佳方法是什么?,javascript,iframe,ads,document.write,lazy-loading,Javascript,Iframe,Ads,Document.write,Lazy Loading,通过双击请求的广告通常从广告提供商网络获得服务,该网络返回javascript,然后执行document.write以在页面中放置广告。使用document.write要求打开文档,这意味着页面尚未到达document.complete。这会妨碍延迟或延迟加载广告内容。将这样的代码放在页面底部是有帮助的,但这不足以减少非常重要的“页面加载”时间。“友好的iFrame”是我们最好的吗?是否有其他替代方法,例如覆盖document.write的聪明方法,可以在dom中保留适当的位置 第三方广告使用d
第三方广告使用document.write将脚本和内容添加到页面中的“当前”位置。页面所有者无法控制广告脚本,也无法指定显示目标div。广告脚本希望在调用它的文档位置写入和呈现,因此不清楚如何使用延迟的动态脚本加载正确定位广告。将脚本延迟加载到上下文中很简单,但通过document.write就地呈现的第三方内容并不容易实现。除非您提供富媒体广告,否则iframe方法可以正常工作。这些广告通常是基于flash的,在某些情况下,会扩展到其容器之外。如果使用iframe,富媒体广告仅限于容器(iframe)
容纳所有可能的广告的最佳方法是使用脚本方法。好的,因此基本上有两种主要的方式将广告呈现到屏幕上
iframe.src='myurl';iframe.reload()代码>
这就是你需要做的全部。设置它,以便加载其他所有内容,然后最后加载广告iFrame
请注意,这可能会影响你从广告中获得的收入。这取决于用户体验,但如果直到用户将广告从屏幕上滚动下来后才加载广告,那么你将无法获得点击或赚钱
此外,还要注意广告网络的性能。我知道它有很好的响应时间,但是有很多广告网络,有时甚至大人物的响应时间也很糟糕。我将为您提供另一个解决方案,而不使用iframe。看
它将帮助您延迟文档。write()我习惯于将页面底部的广告呈现在隐藏的div中,并使用javascript移动它们
类似这样的东西,无论你想在哪里投放广告:
<div id="destid" style="width:350px; heigh: 200px"></div>
在本页末尾:
<div style="display:none">
<script type="text/javascript">
document.write("<div id='srcid'>");
//your doubleclickcode
document.write("</div>");
</script>
<script type="text/javascript">
$("#srcid").appendTo("#destid");
</script>
</div>
文件。填写(“”);
//你的双击代码
文件。填写(“”);
$(“#srcid”)。附录(“#destid”);
因此,似乎有一种围绕此形成的标准,称为友好iFrame(FIF)。这感觉有点像黑客,但我觉得更好的是IAB在背后
以下是IAB提供的文件:
这对我来说很有效,即使您将js动态地写入iframe,它仍然允许富媒体广告扩展到其空间之外。krux的postscribe.js,如HTML5开发会议所示
https://npmjs.org/package/postscribe我用iframe解决了这个问题。我将脚本标记替换为一个iframe,该iframe指向服务器上包含脚本标记的简单页面
我换了标签
<script src="ad provider's url containing document.write()" type="text/javascript">
</script>
与
adpage.htm仅包含:
<html><head></head>
<body style="margin:0px;">
<script src="ad provider's url containing document.write()" type="text/javascript">
</script>
</body></html>
使用iFrame的缺点是什么?他们不会伤害你;他们是你被误解的朋友。你有没有试图改写文档。写?工作正常。iFrAMS是方便的,我认为他们是我的朋友:)但是他们会有一个性能惩罚。然而,这是一个很好的折衷方案,可以获得延迟加载,并避免阻止基页下载。Chrome有一个标签,将来可能会取代它,但现在,它是iframes。使用iframe的一个缺点是iframe会阻止父页面onload事件。所以,我得到了并行下载,但是高延迟的广告请求会妨碍基页加载性能。我也这样做。对我来说效果很好,当他们决定不想快速响应时,可以保持页面加载顺畅。这听起来不太符合要求。很确定隐藏和移动广告是违反双击策略的。你还在使用这种方法吗?还有,如何在头部添加iframe标记?我在问,因为谷歌广告脚本被要求添加在头标签的末尾
<html><head></head>
<body style="margin:0px;">
<script src="ad provider's url containing document.write()" type="text/javascript">
</script>
</body></html>