获取访问者's优化A/B测试和变化
Get visitor's Optimizely A/B test and variation
当我在我的网站上运行一个实验时,我希望能够找出当前访问者看到的测试和变体。我在Optimizely Javascript API中找不到如何做到这一点。
您可以获得第一个正在运行的实验的ID(假设您有一个),然后是变异指数(例如,0、1、2)、名称和ID:
var experimentID = window['optimizely'].data.state.activeExperiments[0];
var variationIndex = window['optimizely'].data.state.variationMap[experimentID];
var variationName = window['optimizely'].data.state.variationNamesMap[experimentID];
var variationID = window['optimizely'].data.state.variationIdsMap[experimentID];
扩展Kevin Borders的答案。您可能在一个页面上运行多个实验。我在下面包含了一个代码片段,演示如何返回一个活动变体ID数组:
// Return a list of active Optimizely variation IDs
function activeVariations(){
// Multiple variations may currently be active
var activeVariations = [];
// Get state settings from optimizely object
var state = window['optimizely'].data.state;
// For each of the active experiments:
for (var i = state.activeExperiments.length - 1; i >= 0; i--) {
// Current experiment ID
var experimentID = state.activeExperiments[i];
// Current corresponding variation ID
var variationID = state.variationIdsMap[experimentID];
// If we have an active variation, add it to our array
if (variationID) { activeVariations.push(variationID[0]); }
}
// List of active variations
return activeVariations;
}
相关文章:
- 模糊事件的Javascript测试
- 我的单元测试选项是什么
- 测试索引值是否等于某个数字的倍数
- 单击页面上的链接后高度发生变化
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 测试数组中每个项的内容
- 测试Angular Service解决错误回调中的promise
- 使用Jest测试React Native应用程序
- 为函数代码编写测试
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 如何使用JS/nightwatchjs并行运行多个测试
- 使用量角器的当前url单元测试的getTitle
- 茉莉花宝石-耙茉莉花:ci dons't运行测试
- JavaScript滚动脚本-在测试中激发,而不是在开发站点上
- Javascript单元测试依赖关系-当依赖对象发生变化时,如何使测试失败
- 用茉莉花测试测试ng变化
- 在.then()单元测试中AngularJS$作用域变量的变化
- 获取访问者's优化A/B测试和变化
- ReactJS:如何测试状态变化
- 用量角器测试悬停状态的变化