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.