【问题标题】:HTML DOM Events with Visual Website Optimizer使用 Visual Website Optimizer 的 HTML DOM 事件
【发布时间】:2013-03-27 18:52:22
【问题描述】:

我试图在网站上进行 AB 测试,但我无法在原始变体中编辑任何内容,我只想在假控制页面和变体页面上自定义转换目标。

如果我使用以下代码请求外部 js 文件

$(document).ready(function() {
    $('.lLink a').attr("onclick", "if(typeof(_vis_opt_top_initialize) == 'function') { _vis_opt_goal_conversion(204); _vis_opt_pause(500);}");
});

一切正常。如果我删除外部资源并尝试在 VWO 中执行它,它不起作用。

所以我要做的是在链接上设置自定义转化目标。我如何在添加 css/js 选项中使用以下内容:

vwo_$('.lLink a').attr("onclick", "if(typeof(_vis_opt_top_initialize) == 'function') { _vis_opt_goal_conversion(204); _vis_opt_pause(500);}");

我正在运行测试,但没有任何反应。

然后我尝试从控制台在站点上做同样的事情,没有。

再次在控制台我累了 vwo_$('.lLink a').attr("WHATEVER", "if(typeof(_vis_opt_top_initialize) == 'function') { _vis_opt_goal_conversion(204); _vis_opt_pause(500);}");

它奏效了。

那么 VWO 和 HTML DOM 事件有什么问题?

【问题讨论】:

    标签: jquery dom optimization


    【解决方案1】:

    问题在于,如果将 DOM 添加到“添加 JS/CSS”选项中,您不会等待 DOM 准备好。所以请在 Add JS/CSS 选项中使用以下代码:

    vwo_$(function() {
        vwo_$('.lLink a').attr("onclick", "if(typeof(_vis_opt_top_initialize) == 'function') { _vis_opt_goal_conversion(204); _vis_opt_pause(500);}");
    });
    

    【讨论】:

    • 这听起来很奇怪,因为我可以使用 vwo_$('.lLink a').attr("WHATEVER", "if(typeof(_vis_opt_top_initialize) == 'function') { _vis_opt_goal_conversion(204); _vis_opt_pause(500);}"); 之类的东西来操作 DOM 并且它可以工作。
    • 我相信您会在使用开发人员控制台加载页面后执行此操作,这将在 DOM 已经准备好时工作。也不是在所有情况下 VWO 代码都会在 DOM 加载后执行,因为异步无法确定其时间,因此 DOM 就绪最适合确保在页面上找到元素。
    猜你喜欢
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 2012-09-17
    • 2015-03-10
    • 1970-01-01
    • 2012-05-25
    • 2023-03-22
    • 2023-04-06
    相关资源
    最近更新 更多