2013-06-26 12 views
13

Khi tôi chạy thử nghiệm trên trang web của tôi, tôi muốn để có thể tìm ra các thử nghiệm và biến khách truy cập hiện tại nhìn thấy. Tôi không thể tìm thấy cách thực hiện việc này từ Optimizely Javascript API.Nhận Optimizely Một thử nghiệm của du khách/B và biến

+1

Bạn đã kiểm tra phần tài liệu API đề cập đến tham chiếu đến đối tượng dữ liệu chưa? Bạn có thể xem các biến thể bạn đang cookie theo đến với optimizely.variationIdsMap và optimizely.variationNamesMap – jamis0n

Trả lời

20

Bạn có thể lấy ID của thí nghiệm đầu tiên chạy (giả sử bạn có một), và sau đó chỉ số dao động (ví dụ: 0, 1, 2), tên và 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]; 
+0

Có cách nào tốt để có được ** ** nghiệm ID thực tế? ** Thực tế ** có nghĩa là thử nghiệm có chứa mã đang cố truy cập. –

5

Mở rộng về câu trả lời của Kevin Borders. Có thể bạn đang chạy nhiều thử nghiệm trên một trang. Tôi đã bao gồm đoạn mã bên dưới, minh họa cách trả lại một mảng ID biến thể hoạt động:

// 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; 
} 
+0

Có cách nào có thể để có được ID thử nghiệm ** thực tế ** không? ** Thực tế ** có nghĩa là thử nghiệm có chứa mã đang cố truy cập. –

+0

@SilverRingvee Bạn có thể mở rộng câu hỏi của mình không? Có lẽ là một ví dụ. Tôi muốn giúp đỡ, nhưng tôi không chắc chắn những gì bạn đang cố gắng để có được? –

+0

Ví dụ: nếu tôi cố gắng truy cập ID thử nghiệm trong Javascript thử nghiệm. Vì vậy, cùng một hàm sẽ trả về ID khác nhau cho mỗi thử nghiệm có chứa hàm đó. Tương tự cũng nên làm việc trong Biến thể JS .. Tôi hy vọng tôi đã giải thích tốt hơn bây giờ và bạn có thể giúp tôi. –

Các vấn đề liên quan