41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
var LinkShim = {
|
|
|
|
//set options
|
|
redirect_url: "http://yoururl.com:8888/r?",
|
|
tracker_attr: "data-track",
|
|
params: {},
|
|
|
|
//called on mousedown event
|
|
changeHref: function(a) {
|
|
var $a = $(a);
|
|
var params = this.params;
|
|
var url = this.redirect_url + $a.attr(this.tracker_attr);
|
|
|
|
//build params
|
|
params.href = $a.attr('href');
|
|
for (var f in params) {
|
|
url += "&" + f + "=" + encodeURIComponent(params[f]);
|
|
}
|
|
|
|
//change href of click
|
|
$a.attr('href', url);
|
|
},
|
|
|
|
//manually call to add PageParams
|
|
addPageParams: function(new_params) {
|
|
if (typeof new_params == 'object') {
|
|
for (var f in new_params) {
|
|
this.params[f] = new_params[f];
|
|
}
|
|
}
|
|
},
|
|
|
|
//call to listen to clicks on objects that contain the tracker_attr par
|
|
init: function() {
|
|
var obj = this; //added b/c 'this' will end up refering to a tag
|
|
$("a[" + obj.tracker_attr + "]").bind('mousedown', function(e) {
|
|
e.preventDefault();
|
|
obj.changeHref(this);
|
|
});
|
|
}
|
|
}; |