var woeSource = woeReadParam('so'); var woeAd = woeReadParam('ad').split(','); var woeTrkDomains = [ { 'd':'nespresso.com', 'a':'22371', 'l':'https://clk.tradedoubler.com/click?p=&a=3445205&epi={user_id}&url={link_encode_utf8} ', 'p':'', 'c':'Cibo e bevande', 'u':'https://www.nespresso.com/uk/en/results?q={query_encode_utf8}' }, ]; window.addEventListener("DOMContentLoaded", (event) => { let woeui = woeReadCookie('_ui'); if(woeTrkDomains){ var hrefs_list = document.querySelectorAll('a'); var hrefs_array = [...hrefs_list]; hrefs_array.forEach(href => { let link = href.getAttribute('href'); let domain = woeGetDomain(link); if(domain){ let trks = woeTrkDomains.filter(a => a && a.d && ("."+domain).endsWith("."+a.d)) if(trks && trks.length > 0){ let trk = trks[Math.floor(Math.random()*trks.length)]; if(trk){ href.setAttribute('href',woeParseTrackingLink(trk.l, trk.p, link, woeui || '')); } } } }); if(postTags.length > 0){ let postContent = document.getElementsByClassName("b-post-content").length ? document.getElementsByClassName("b-post-content")[0] : null; if(postContent){ let content = postContent.innerHTML; for(var ip=0; ip < postTags.length; ip++){ let tag = postTags[ip]; let re = new RegExp('("+tag+")(?!(.(?!<(a|img)))*(|.jpg\"|.png\"|.jpeg\"|\"))','g'); let trks = []; if(woeAd.length) trks = woeTrkDomains.filter((a)=>{ if(!a | !a.a) return false; for(i=0;i{ if(!a | !a.c) return false; for(i=0;i 0){ let trk = trks[Math.floor(Math.random()*trks.length)]; if(trk){ let link = woeParseUrlQuery(trk.u, tag); link = woeParseTrackingLink(trk.l, trk.p, link, woeui || '') content = content.replace( re, ""+tag+""); } } } postContent.innerHTML = content; } } } }); function woeReadParam(name){ name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); var results = regex.exec(location.search); return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); } function woeReadCookie(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); } } function woeIsHttpOrHttps(url){ if (!url) { return false } return /^https?:/i.test(url); } function woeGetDomain(url){ if (!woeIsHttpOrHttps(url)) { return url } let domain = (new URL(url)); return domain.hostname.replace('www.',''); } function woeReplaceAll(str, find, replace){ return str.replace(new RegExp(find, 'g'), replace); } function woeUpdateQueryStringParameter(uri, key, value){ var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"); var separator = uri.indexOf('?') !== -1 ? "&" : "?"; if (uri.match(re)) { return uri.replace(re, '$1' + key + "=" + value + '$2'); } else { return uri + separator + key + "=" + value; } } function woeParseTrackingLink(deeplink, params, link, userId){ if(!link) return null; if(params) { if (params.includes("{user_id}")) params = woeReplaceAll(params, "{user_id}", userId ? "" + userId + (woeSource && woeSource != "0" ? "_"+woeSource : "") : ""); let ps = params.split('&'); if(ps && ps.length){ for(let i = 0; i < ps.length; i++){ let p = ps[i]; if(p && p.includes("=")){ link = woeUpdateQueryStringParameter(link, p.split('=')[0], p.split('=')[1]); } } } } if(deeplink) { if (deeplink.includes("{link}")) deeplink = woeReplaceAll(deeplink, "{link}", link ? link : ""); if (deeplink.includes("{link_encode_utf8}")) deeplink = woeReplaceAll(deeplink,"{link_encode_utf8}", link ? encodeURIComponent(link) : ""); if (deeplink.includes("{user_id}")) deeplink = woeReplaceAll(deeplink, "{user_id}", userId ? "" + userId + (woeSource && woeSource != "0" ? "_"+woeSource : "") : ""); return deeplink; } return link; } function woeParseUrlQuery(link, query){ if(!link) return null; if(query) { if (link.includes("{query}")) link = woeReplaceAll(link, "{query}", query ? query : ""); if (link.includes("{query_encode_utf8}")) link = woeReplaceAll(link,"{query_encode_utf8}", query ? encodeURIComponent(query) : ""); if (link.includes("{query_path}")){ let qencoded = query ? encodeURIComponent(query) : ""; if(qencoded) qencoded = qencoded.replace(/\+|\-/ig, '-'); link = woeReplaceAll(link,"{query_path}", qencoded); } return link; } return link; }