1// Ñîäåðæèò ëè URL òåêóùèé äîìåí è get ïàðàìåòð action=buy 2// Äîáàâëåíèå â êîðçèíó 3function checkLinkActionBuy(url) { 4 var currentURL = new URL(url); 5 var currentDomain = window.location.hostname; 6 var actionParam = 'action=buy'; 7 8 // Ïðîâåðÿåì, ñîäåðæèò ëè URL òåêóùèé äîìåí 9 // Ïðè òåñòàõ îòêëþ÷àéòå 10 if (currentURL.hostname === currentDomain) { 11 12 // Ïðîâåðÿåì, ñîäåðæèò ëè URL ïàðàìåòð action=buy 13 if (url.indexOf(actionParam) !== -1) { 14 //console.log(url); 15 return true; 16 } 17 } 18 19 return false; 20} 21 22 23function addRefererAndCurrentUrl(event) { 24 var expires = ""; 25 var days = 365; 26 var date = new Date(); 27 date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); // â ìèëëèñåêóíäàõ 28 expires = "; expires=" + date.toUTCString(); 29 // Äîáàâèì 2 êóêè: òåêóùàÿ è ïðåäûäóùàÿ ñòðàíèöà 30 document.cookie = 'referer=' + document.referrer + expires + '; path=/'; 31 document.cookie = 'current_url=' + window.location.href + expires + '; path=/'; 32} 33 34function observeDOMChangesAddBasket() { 35 var observer = new MutationObserver(function(mutationsList) { 36 for (var mutation of mutationsList) { 37 for (var addedNode of mutation.addedNodes) { 38 if ( 39 addedNode.nodeType === Node.ELEMENT_NODE && 40 ((addedNode.tagName === 'A' && addedNode.href && checkLinkActionBuy(addedNode.href)) || 41 addedNode.dataset.action === 'ADD_ALL_TO_CART' || 42 addedNode.classList.contains('btn-feedback') || 43 addedNode.classList.contains('add-to-marketplace-request-demo') || 44 addedNode.classList.contains('btn-callback')) 45 ) { 46 // îáðàáîò÷èê ñîáûòèÿ íàæàòèÿ íà ññûëêó èëè ýëåìåíò ôîðìû 47 addedNode.addEventListener('click', addRefererAndCurrentUrl); 48 } 49 } 50 } 51 }); 52 53 // Íàñòðàèâàåì íàáëþäàòåëü çà èçìåíåíèÿìè â DOM-äåðåâå 54 observer.observe(document.documentElement, { childList: true, subtree: true }); 55} 56 57observeDOMChangesAddBasket();
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.