Javascript 在单页web应用程序中显示相同的dfp广告
我有一个包含dfp广告的单页web应用程序。我有两个dfp AdUnit,我正在启动,它们放在内容之间,这是一个特定类别的文章列表 当我点击另一个类别时,它只是加载不同类别的文章(不改变地址栏中的url)并触发相同的广告。所以这就像触发同一页面上的广告一样 广告不会第二次出现,这是因为你不能在同一页上使用相同的成人Javascript 在单页web应用程序中显示相同的dfp广告,javascript,ads,single-page-application,google-dfp,Javascript,Ads,Single Page Application,Google Dfp,我有一个包含dfp广告的单页web应用程序。我有两个dfp AdUnit,我正在启动,它们放在内容之间,这是一个特定类别的文章列表 当我点击另一个类别时,它只是加载不同类别的文章(不改变地址栏中的url)并触发相同的广告。所以这就像触发同一页面上的广告一样 广告不会第二次出现,这是因为你不能在同一页上使用相同的成人 由于我不能使用dfp提供的刷新功能,因为我的DOM每次都会被重建,有什么方法可以做到这一点吗?如果您使用的是jQuery,请查看我制作的包装dfp并允许您在单页应用程序中非常轻松地使
由于我不能使用dfp提供的刷新功能,因为我的DOM每次都会被重建,有什么方法可以做到这一点吗?如果您使用的是jQuery,请查看我制作的包装dfp并允许您在单页应用程序中非常轻松地使用它的工具 这是一个使用TurboLink的演示,与您的单页应用程序类似: 还有问题就告诉我
编辑:这里是另一个单页示例-从这个问题中可以得出一些结论。 dfp插件以及正常的Google标签实现应该适用于一个单页应用程序,只需满足两个要求
function myGoogleTagLoaderFn(callback) {
// reset googletag lib
window.googletag = null;
// we're using requirejs, so we have to do this as well
window.requirejs.undef('http://www.googletagservices.com/tag/js/gpt.js');
myRequireOr$getScriptFn('http://www.googletagservices.com/tag/js/gpt.js', function success() { callback(); });
}
不要担心每次加载页面时都会加载库,这与非单页站点中的情况相同,并且库会发送合理的缓存头。当然,缺点是每次都会重新评估脚本。好处是,您可以通过这种方式使用singleRequest模式。上面的演示如何成为单页应用程序。?。单击该链接可转到另一个页面。查看上述演示的修改版本。当你点击刷新这里;它试图创造相同的广告;但未能提供广告。最初的演示肯定是一个单页应用程序。。。turbolinks处理单击并将url更改推送到浏览器。。。所以,尽管它看起来像是在换页面,但事实并非如此。无论如何我已经添加了另一个演示,应该提供一个更好的例子。。。你做的那个不起作用,因为你正在更改id并清空div…谢谢你的演示。我还有一个困惑。当我从演示中删除enableSingleRequest:false时,它不会触发新广告。您能告诉我为什么使用enableSingleRequest吗?DFP使用enableSingleRequest选项一次获取当前页面的所有广告。。。当使用此选项时,不可能为同一页面获取更多广告。。。我的插件默认将enableSingleRequest设置为true,因为在大多数情况下,它更有效,但对于在同一页面上生成和获取新广告的单页面应用,您将始终需要将enableSingleRequest设置为false;你说我上面的演示不起作用,因为我正在清空div并更改id。这是谷歌标签实现本身的限制吗?我们不能这样使用它?