JavaScript 实现重载Google 广告,无需刷新页面
2016-10-27
Google 官方禁止自动更新或重载广告,然而在单页应用、网页游戏或部分特殊场景中,往往不涉及页面刷新,如果想在不同时机展现不同广告,就会十分棘手。
就笔者目前认知,有两种情况:
1、可以使用异步Google发布商代码的刷新功能来动态重新加载广告,而无需刷新整个页面的内容。
刷新功能仅在异步模式下才能发挥作用。调用refresh()可为请求获得的广告新建一个correlator ID。
详情:
https://support.google.com/dfp_sb/answer/3058726?hl=zh-Hans
2、手动使用js重载广告位,简单实用。
首先将Google的广告代码放在一个容器中:
<div id="ad-container"> ... google ads javascript here ... </div>
然后在需要重载广告的地方,添加下面代码即可:
<script type="text/javascript">
//define ads element
var ads = document.getElementById("ad-container");
//ad parent node
var prn = ads.parentNode;
//lets clone ads block
var cln = ads.cloneNode(true);
//remove the current ads block completely
prn.removeChild(ads);
//append a newly cloned one
prn.appendChild(cln);
</script>
原理浅显易懂:将目标广告元素节点从父节点移除并保存,然后重新插入副本。
思路来源:http://ajax911.com/reload-google-ads/
By Pury.
