设置存储在JSON对象中的DFP定位键值

时间:2018-03-16 10:37:36

标签: javascript json google-dfp gpt

我正在尝试在JSON对象中存储DFP键值列表,并使用javascript循环列表中的每个键值对,以将其设置为Google发布商代码中的页面级定位参数。

window.dfpData = {"dfpKV":{"key1":"value","key2":"value2","key3":"value1,value2,value3","key4":["value4","value5","value6"]}}

我正在使用此函数,它不会抛出任何错误,但似乎也不会执行:

  if (dfpData.dfpKV) {
for (var i = 0; i < dfpData.dfpKV; i ++) {
  var item = dfpData.dfpKV[i];
  googletag.pubads().setTargeting(item[0], item[1]);
}

结果输出应相当于多行:

googletag.pubads().setTargeting("key1",["value"]);
googletag.pubads().setTargeting("key2",["value2"]);
googletag.pubads().setTargeting("key3",["value1,value2,value3"]);
googletag.pubads().setTargeting("key4",["value4","value5","value6"]);

Codepen是here

非常感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:1)

这不是循环访问对象中包含的值的正确方法。尝试

if (dfpData.dfpKV) {
  Object.keys(dfpData.dfpKV).forEach(function(key) {
     googletag.pubads().setTargeting(key, dfpData.dfpKV[key]);
  })
}