我正在尝试在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:
非常感谢您提供的任何帮助!
答案 0 :(得分:1)
这不是循环访问对象中包含的值的正确方法。尝试
if (dfpData.dfpKV) {
Object.keys(dfpData.dfpKV).forEach(function(key) {
googletag.pubads().setTargeting(key, dfpData.dfpKV[key]);
})
}