1

我正在尝试将 DFP 键值列表存储在 JSON 对象中,并使用 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 在这里

您可以提供的任何帮助将不胜感激!

4

1 回答 1

1

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

if (dfpData.dfpKV) {
  Object.keys(dfpData.dfpKV).forEach(function(key) {
     googletag.pubads().setTargeting(key, dfpData.dfpKV[key]);
  })
}
于 2018-03-17T17:56:07.513 回答