2013-03-27 52 views
0

我試圖在網站上進行AB測試,並且我無法編輯原始變體中的任何內容,我想在虛假控制頁面上自定義轉換目標,在變體頁面。帶有可視化網站優化器的HTML DOM事件

如果我請求外部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事件有什麼問題?

回答

0

問題是,如果將DOM添加到Add JS/CSS選項中,您並未等待DOM做好準備。所以,請使用添加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);}"); 
}); 
+0

既然我能夠與像操作DOM聽起來不可思議'VWO _ $(「lLink一個。」)ATTR(「什麼的。 「,」if(typeof(_vis_opt_top_initialize)=='function'){_vis_opt_goal_conversion(204); _vis_opt_pause(500);}「);'並且它工作。 – Simon 2013-03-27 12:01:12

+0

我相信你會這樣做後頁面加載使用開發人員控制檯,將作爲DOM已準備就緒。並非所有情況下,VWO代碼都會在DOM加載後執行,並且不同步,因此無法確定其時序,因此,DOM就緒最適合確保在頁面上找到元素。 – Neo 2013-03-27 15:48:52