Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在HTML5移动web应用程序中双击DFP刷新adunit动态_Javascript_Ajax_Html_Mobile_Google Dfp - Fatal编程技术网

Javascript 在HTML5移动web应用程序中双击DFP刷新adunit动态

Javascript 在HTML5移动web应用程序中双击DFP刷新adunit动态,javascript,ajax,html,mobile,google-dfp,Javascript,Ajax,Html,Mobile,Google Dfp,我正在构建一个HTML5移动web应用程序 它加载、初始化和构建接口。 然后,用户可以使用它通过提要拉入内容。因此,用户正在查看的内容将发生更改,并显示在现有界面中 我通过DFP服务广告-双击出版商。。。我对这个过程肯定是陌生的 在head中,我运行init代码: var ad1; // THIS IS THE STRING THAT NEEDS TO CHANGE TO REFLECT DIFFERENT CONTENT *** var adunit = '/8013/digital.fir

我正在构建一个HTML5移动web应用程序

它加载、初始化和构建接口。 然后,用户可以使用它通过提要拉入内容。因此,用户正在查看的内容将发生更改,并显示在现有界面中

我通过DFP服务广告-双击出版商。。。我对这个过程肯定是陌生的

在head中,我运行init代码:

var ad1;

// THIS IS THE STRING THAT NEEDS TO CHANGE TO REFLECT DIFFERENT CONTENT ***
var adunit = '/8013/digital.first.media.test.site/Mobile/News';     

googletag.cmd.push(function() {
    ad1 = googletag.defineSlot( adunit, [[300, 50], [320, 50]],  'story_ad_top').setTargeting('pos',['mobile_section_top']).addService(googletag.pubads());
    googletag.pubads().enableAsyncRendering();
    googletag.pubads().disableInitialLoad();        //turns off rendering on initial load
    googletag.enableServices();
});
然后,我可以随时通过拨打以下电话刷新广告:

googletag.pubads().refresh([ad1]);
这个很好用。。。除了用户正在查看不同的内容之外,因此在init上设置的adunit字符串不再是最新的。我需要更新那个字符串。。。但我找不到一个方法来做到这一点

我有一个JSFIDLE示例:

该示例有3个按钮,反映用户查看不同内容的情况


非常感谢您的帮助。

一旦您定义了adunit,就我所知,您无法更改它

您可以做的是将显示在该广告单元中的行项目设置为使用自定义目标字符串作为目标,然后可以使用clearTargeting和setTargeting方法在触发刷新命令之前设置新的自定义目标字符串

这将允许您根据用户在应用程序中的位置更改广告