Skip to content

Instantly share code, notes, and snippets.

@thegreekjester
Created November 5, 2021 18:03
Show Gist options
  • Save thegreekjester/eb9a5287c7de3cdbf637ec38e26dd284 to your computer and use it in GitHub Desktop.
Save thegreekjester/eb9a5287c7de3cdbf637ec38e26dd284 to your computer and use it in GitHub Desktop.
Fullstory_integration_edge
var waitUntil = function(callback) {
if (typeof callback === 'function') {
return new Promise(function(resolve, reject) {
var tick = setInterval(function() {
if (callback() === true) {
clearInterval(tick);
return resolve();
}
});
});
} else {
console.error(callback + ' should be a function');
}
};
var waitForFS = function(){return typeof(window[window['_fs_namespace']]) === 'function'; }
waitUntil(waitForFS).then(function(){
var active_exps = window.optimizelyEdge.get('state').getActiveExperiments()
for (var campaignId in active_exps) {
var c = active_exps[campaignId];
if (c.isInCampaignHoldback !== true) {
var payload = {};
payload.campaign = {};
payload.campaign.id_str = campaignId;
payload.campaign.name_str = c.campaignName;
if (c.experiment) {
payload.experiment = {};
payload.experiment.id_str = c.experiment.id;
payload.experiment.name_str = c.experiment.name;
}
if (c.variation) {
payload.variation = {};
payload.variation.id_str = c.variation.id;
payload.variation.name_str = c.variation.name;
}
//window[window['_fs_namespace']].event('Experiment', payload, 'Optimizely');
console.log('payload', payload)
}
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment