LinkShim/LinkShim.dev.js

41 lines
1.2 KiB
JavaScript
Raw Normal View History

2018-05-28 08:27:10 +02:00
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);
});
}
};