有人经历过Optimizely忽略了部分代码吗?
因此,我的开发环境在chrome上使用了npm和注射器。 到目前为止,我的代码还不错。但是,当我将构建版本复制粘贴到Optimizely自定义JS时,只有其中的某些部分会被忽略。 特别是这部分,这使我考虑是否对Optimizely进行了代码限制,除了它不支持ES6。
// rebind events to the new cartactivator
$.each($._data($OldCartActivator[0], "events"), function () {
// iterate registered handler of original
$.each(this, function () {
$CartActivator.bind(this.type, this.handler);
});
});
我只说这部分,因为其余代码执行得很好。 我不明白为什么。
请赐教。
答案 0 :(得分:1)
我设法使其正常工作!在所有事件绑定旧DOM之前执行上面的代码显然是时间问题。因此,我在等待复制之前使用了waitUntil,直到... oldcartactivator实际绑定了任何事件。
utils.waitUntil(function(){
return $._data($OldCartActivator[0], "events")!==undefined && $CartActivator ;
}).then(function(){
try{
$.each($._data($OldCartActivator[0], "events"), function () {
// iterate registered handler of original
$.each(this, function () {
$CartActivator.bind(this.type, this.handler);
});
});
}catch(err){}
});
如果您预计会在以后的很长时间内(但在限定时间内)附加多个事件,则轮询也将起作用。
希望这可以帮助同一条船上的某人。干杯〜