Skip to content

Commit 49b9d95

Browse files
author
Jason Neylon
committed
Changed the keys methods to not extend
object but instead be standard function For some bizarre reason it was interfering with Fancybox
1 parent 726f4df commit 49b9d95

File tree

2 files changed

+24
-5
lines changed

2 files changed

+24
-5
lines changed

split.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ Split = (function(){
4141
createCookie(name,"",-1);
4242
}
4343

44-
Object.prototype.keys = function ()
44+
function getKeys(obj)
4545
{
4646
var keys = [];
47-
for(var i in this) if (this.hasOwnProperty(i))
47+
for(var i in obj) if (obj.hasOwnProperty(i))
4848
{
4949
keys.push(i);
5050
}
@@ -54,7 +54,7 @@ Split = (function(){
5454
function init(){
5555
alternatives = arguments[0]
5656
options = arguments[1]
57-
keys = alternatives.keys()
57+
keys = getKeys(alternatives);
5858

5959
config = {}
6060

split.min.js

+21-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,21 @@
1-
/*! Split.js v0.1.2 github.com/andrew/split.js */
2-
var _gaq=_gaq||[];Split=function(){function f(){alternatives=arguments[0];options=arguments[1];keys=alternatives.keys();a={};if(options!=undefined){for(k in b){a[k]=options[k]!=undefined?options[k]:b[k]}}else{a=b}var e=d(a.cookieName);if(e){}else{e=keys[Math.floor(Math.random()*keys.length)];c(a.cookieName,e,a.cookieAge)}_gaq.push(["_setCustomVar",a.customVariableIndex,a.customVariableName,e,1]);alternatives[e]()}function e(a){c(a,"",-1)}function d(a){var b=a+"=";var c=document.cookie.split(";");for(var d=0;d<c.length;d++){var e=c[d];while(e.charAt(0)==" ")e=e.substring(1,e.length);if(e.indexOf(b)==0)return e.substring(b.length,e.length)}return null}function c(a,b,c){if(c){var d=new Date;d.setTime(d.getTime()+c*24*60*60*1e3);var e="; expires="+d.toGMTString()}else var e="";document.cookie=a+"="+b+e+"; path=/"}var a={},b={cookieName:"abTest",cookieAge:30,customVariableName:"AB Test alternative",customVariableIndex:1};Object.prototype.keys=function(){var a=[];for(var b in this)if(this.hasOwnProperty(b)){a.push(b)}return a};return{setup:function(a,b){f(a,b)}}}()
1+
2+
var _gaq=_gaq||[]
3+
Split=(function(){var config={},defaults={cookieName:'abTest',cookieAge:30,customVariableName:'AB Test alternative',customVariableIndex:1}
4+
function createCookie(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();}
5+
else var expires="";document.cookie=name+"="+value+expires+"; path=/";}
6+
function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length);}
7+
return null;}
8+
function eraseCookie(name){createCookie(name,"",-1);}
9+
function getKeys(obj)
10+
{var keys=[];for(var i in obj)if(obj.hasOwnProperty(i))
11+
{keys.push(i);}
12+
return keys;}
13+
function init(){alternatives=arguments[0]
14+
options=arguments[1]
15+
keys=getKeys(alternatives);config={}
16+
if(options!=undefined){for(k in defaults){config[k]=(options[k]!=undefined)?options[k]:defaults[k];}}else{config=defaults;}
17+
var alternative=readCookie(config.cookieName)
18+
if(alternative){}else{alternative=keys[Math.floor(Math.random()*keys.length)]
19+
createCookie(config.cookieName,alternative,config.cookieAge)}
20+
_gaq.push(['_setCustomVar',config.customVariableIndex,config.customVariableName,alternative,1]);alternatives[alternative]();}
21+
return{setup:function(args,options){init(args,options)}}})();

0 commit comments

Comments
 (0)