1(function() { 2 const href = new URL(location.href); 3 if(href.searchParams.get('x-clickref')) { 4 let go; 5 if(go = href.searchParams.get('go')) { 6 try { 7 go = new URL(go); 8 if(/^www\.parallels\.(com|cn|com\.cn)$/.test(go.hostname)) { 9 location.href = go.pathname; 10 } else { 11 location.href = '/'; 12 } 13 } catch(e) {} 14 } 15 } 16})(); 17$(document).ready(function() { 18 const href = new URL(location.href); 19 let irclickid, clickref, cjevent; 20 21 if(irclickid = $.cookie('irclickid') || href.searchParams.get('irclickid')) { 22 $('.langSelector a[href*="parallels.cn"], .langSelector a[href*="parallels.com.cn"]').each(function(){ 23 const url = new URL(this.href); 24 url.searchParams.append('irclickid', irclickid); 25 url.searchParams.append('utm_source', 'Impact'); 26 url.searchParams.append('utm_medium', 'AFFILIATES'); 27 this.href = url.toString(); 28 }); 29 } else if(clickref = $.cookie('_cb_pm') || href.searchParams.get('x-clickref')) { 30 $('.langSelector a[href*="parallels.cn"], .langSelector a[href*="parallels.com.cn"]').each(function(){ 31 const url = new URL(this.href); 32 url.searchParams.append('x-clickref', clickref); 33 url.searchParams.append('utm_source', 'PARTNERIZE'); 34 url.searchParams.append('utm_medium', 'AFFILIATES'); 35 this.href = url.toString(); 36 }); 37 } else if(cjevent = $.cookie('cje') || href.searchParams.get('cjevent')) { 38 $('.langSelector a[href*="parallels.cn"], .langSelector a[href*="parallels.com.cn"]').each(function(){ 39 const url = new URL(this.href); 40 url.searchParams.append('cjevent', cjevent); 41 url.searchParams.append('utm_source', 'CJ'); 42 url.searchParams.append('utm_medium', 'AFFILIATES'); 43 this.href = url.toString(); 44 }); 45 } 46});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.