Javascript dataLayer.push已复制

Javascript dataLayer.push已复制,javascript,jquery,Javascript,Jquery,我正在努力推动数据层。但它一直给我一个重复的数组。请看下面我的代码 数据层=[{ “productID”:“123456”, “productTitle”:“非常棒的产品”, “产品价格”:“13.00” }]; 函数next_step1c(){ window.dataLayer=window.dataLayer | |[]; window.dataLayer.push({ ‘事件’:‘查询’, “PageURL”:window.location.href, }); } 劳力士 当我点击单选

我正在努力推动数据层。但它一直给我一个重复的数组。请看下面我的代码


数据层=[{
“productID”:“123456”,
“productTitle”:“非常棒的产品”,
“产品价格”:“13.00”
}];
函数next_step1c(){
window.dataLayer=window.dataLayer | |[];
window.dataLayer.push({
‘事件’:‘查询’,
“PageURL”:window.location.href,
});
}
劳力士
当我点击单选按钮时,我得到以下结果。

但是当我点击劳力士这个词时。我得到了副本


当我点击Rolex这个词时,我怎么能只得到一次推送呢?

只需使用
.onchange
来代替radio类型的输入元素,我看不出检查数据层是否定义了的目的,因为它总是在这个代码中,并且避免编写内联JS,因为它有很多缺点

var数据层=[{
“productID”:“123456”,
“productTitle”:“非常棒的产品”,
“产品价格”:“13.00”
}];
document.querySelector(“#check1c”).onchange=函数(){
数据层推送({
‘事件’:‘查询’,
“PageURL”:window.location.href,
});
console.log(数据层);
};

劳力士
像这样试试。 您已将onclick添加到
.funkyradio success
类中。因此,当您
单击单选按钮时,它只在
1
时间内工作。但当你们点击标签按钮时,它在那个里点击了两下。因为当您单击标签时,
会起作用。funkyradio success
onclick。并且
标签绑定到无线电输入
因此
输入点击触发器
也起作用。因此,您的函数调用
2次

dataLayer=[{
“productID”:“123456”,
“productTitle”:“非常棒的产品”,
“产品价格”:“13.00”
}];
函数next_step1c(){
log(“你点击了我”);
window.dataLayer=window.dataLayer | |[];
window.dataLayer.push({
‘事件’:‘查询’,
“PageURL”:window.location.href,
});
}

劳力士