fazlurr
5/15/2020 - 2:51 AM

Custom FB Tracker

<!-- Custom Script FB -->
<script>
(function(){var decodeURIComponentSafe=function(s){if(!s)return s;return decodeURIComponent(s.replace(/%(?![0-9][0-9a-fA-F]+)/g,"%25"))};var getParamByName=function(name,url,isCaseSensitive){isCaseSensitive=isCaseSensitive===undefined?false:isCaseSensitive;if(!url)url=window.location.href;var key=name.replace(/[\[\]]/g,"\\$&");var pattern="[?&]"+key+"(=([^&#]*)|&|#|$)";var regex=isCaseSensitive?new RegExp(pattern):new RegExp(pattern,"i");var results=regex.exec(url);if(!results)return null;if(!results[2])return"";
var value=decodeURIComponentSafe(results[2].replace(/\+/g," "));value=value.replace(/[&<>="#;]/g,"");return value};var getCookie=function(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)}return null};var buildQuery=function(params){var esc=encodeURIComponent;var query=Object.keys(params).map(function(k){return esc(k)+"="+esc(params[k])}).join("&");
return query};var setHrefQuery=function(){var ooFbclid=getParamByName("fbclid");var ooFbp=getCookie("_fbp");var ooFbc=getCookie("_fbc");var ooLinks=document.getElementsByClassName("oo-link");var ooLinksParams={};if(ooFbclid&&ooFbclid!=="")ooLinksParams.fbclid=ooFbclid;if(ooFbp&&ooFbp!=="")ooLinksParams.fbp=ooFbp;if(ooFbc&&ooFbc!=="")ooLinksParams.fbc=ooFbc;if(ooLinksParams.fbclid||ooLinksParams.fbp||ooLinksParams.fbc)for(var index=0;index<ooLinks.length;index++){var ooLink=ooLinks[index];var href=ooLink.getAttribute("href");
if(!href.includes("?"))href+="?";else href+="&";var ooLinkQuery=buildQuery(ooLinksParams);href+=ooLinkQuery;href=encodeURI(href);ooLink.href=href}};setTimeout(function(){setHrefQuery()},300)})();
</script>
<!-- End Custom Script FB -->
// ==ClosureCompiler==
// @output_file_name default.js
// @compilation_level WHITESPACE_ONLY
// ==/ClosureCompiler==

(function() {
	var decodeURIComponentSafe = function (s) {
		if (!s) return s;
		return decodeURIComponent(s.replace(/%(?![0-9][0-9a-fA-F]+)/g, '%25'));
	}
	var getParamByName = function  (name, url, isCaseSensitive = false) {
		if (!url) url = window.location.href;
		var key = name.replace(/[\[\]]/g, '\\$&');
		var pattern = '[?&]' + key + '(=([^&#]*)|&|#|$)';
		var regex = isCaseSensitive ? new RegExp(pattern) : new RegExp(pattern, 'i');
		var results = regex.exec(url);
		if (!results) return null;
		if (!results[2]) return '';
		// const value = decodeURIComponent(results[2].replace(/\+/g, ' '));
		var value = decodeURIComponentSafe(results[2].replace(/\+/g, ' '));
		value = value.replace(/[&<>="#;]/g, '');
		return value;
	};
	var getCookie = function (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);
		}
		return null;
	};
	var buildQuery = function (params) {
		var esc = encodeURIComponent;
		var query = Object.keys(params)
			.map(k => `${esc(k)}=${esc(params[k])}`)
			.join('&');
		return query;
	};
	var setHrefQuery = function () {
		var ooFbclid = getParamByName('fbclid');
		var ooFbp = getCookie('fbp');
		var ooFbc = getCookie('fbc');
		var ooLinks = document.getElementsByClassName('oo-link');
		var ooLinksParams = {};
		if (ooFbclid && ooFbclid !== '') {
			ooLinksParams.fbclid = ooFbclid;
		}
		if (ooFbp && ooFbp !== '') {
			ooLinksParams.fbp = ooFbp;
		}
		if (ooFbc && ooFbc !== '') {
			ooLinksParams.fbc = ooFbc;
		}
		if (ooLinksParams.fbclid || ooLinksParams.fbp || ooLinksParams.fbc) {
			for (var index = 0; index < ooLinks.length; index++) {
				var ooLink = ooLinks[index];
				var href = ooLink.getAttribute('href');
				if (!href.includes('?')) {
					href += '?';
				} else {
					href += '&';
				}
				var ooLinkQuery = buildQuery(ooLinksParams);
				href += ooLinkQuery;
				href = encodeURI(href);
				ooLink.href = href;
			}
		}
	};
	setTimeout(() => {
		setHrefQuery();
	}, 300);
})();