1/* «РкоÑзинÑ» без ÑÑ Ð¾Ð´Ð° Ñо ÑÑÑаниÑÑ. 21.09.2026 2 ------------------------------------------------------------------ 3 ÐÑло: кнопка на плиÑке каÑалога â ÑÑо обÑÑÐ½Ð°Ñ ÑÑÑлка на 4 /order/?product[ÑаблиÑа][id]=â¦, а движок оÑвеÑÐ°ÐµÑ 302 на /cart/. 5 То еÑÑÑ Ð»Ñбой клик ÑноÑил покÑпаÑÐµÐ»Ñ Ð¸Ð· каÑалога, и за вÑоÑÑм 6 ÑоваÑом он возвÑаÑалÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ¾Ð¹ «назад». 7 8 СÑало: клик пеÑÐµÑ Ð²Ð°ÑÑваеÑÑÑ, запÑÐ¾Ñ ÑÑ Ð¾Ð´Ð¸Ñ Ñем же адÑеÑом Ñоном 9 (бÑаÑÐ·ÐµÑ Ñам идÑÑ Ð¿Ð¾ ÑедиÑекÑÑ Ð¸ полÑÑÐ°ÐµÑ ÑÑÑаниÑÑ ÐºÐ¾ÑзинÑ), 10 а покÑпаÑÐµÐ»Ñ Ð¾ÑÑаÑÑÑÑ Ð½Ð° меÑÑе и Ð²Ð¸Ð´Ð¸Ñ Ð¿Ð»Ð°ÑÐºÑ Â«ÑÐ¾Ð²Ð°Ñ Ð² коÑзине». 11 СÑÑÑÑик в Ñапке беÑÑм ÐÐ ÐТÐÐТРâ движок ÑÑиÑÐ°ÐµÑ ÑÑÑоки коÑзинÑ, 12 и пÑибавлÑÑÑ ÐµÐ´Ð¸Ð½Ð¸ÑÑ Ð²ÑлепÑÑ Ð½ÐµÐ»ÑзÑ: ÑÐ¾Ñ Ð¶Ðµ ÑÐ¾Ð²Ð°Ñ Ð²ÑоÑой Ñаз 13 ÑÑÑÐ¾ÐºÑ Ð½Ðµ заводиÑ, а ÑвелиÑÐ¸Ð²Ð°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво. 14 15 ÐÑли запÑÐ¾Ñ Ð½Ðµ пÑоÑÑл â ÑÑ Ð¾Ð´Ð¸Ð¼ по ÑÑÑлке, как ÑанÑÑе. 16 СÑÑлки колеÑÑемÑÑ ÐºÑаÑок Dunn Edwards ÑÑда не попадаÑÑ: Ñ Ð½Ð¸Ñ 17 в каÑалоге ÑÑÐ¾Ð¸Ñ Ð°Ð´ÑÐµÑ ÐºÐ°ÑÑоÑки, а не /order/. */ 18(function () { 19 var STIL = '' + 20 '#dob-korzina{position:fixed;right:16px;bottom:16px;z-index:9999;max-width:320px;' + 21 'background:#fff;border:1px solid #dcdcdc;box-shadow:0 6px 24px rgba(0,0,0,.18);' + 22 'padding:14px 16px;font-size:14px;line-height:1.4;display:none}' + 23 '#dob-korzina.dob-on{display:block}' + 24 '#dob-korzina b{display:block;margin-bottom:6px}' + 25 '#dob-korzina .dob-tovar{color:#666;margin-bottom:10px;word-break:break-word}' + 26 '#dob-korzina a,#dob-korzina button{display:inline-block;border:1px solid #4d6675;' + 27 'background:#4d6675;color:#fff;padding:7px 12px;font-size:13px;text-decoration:none;' + 28 'cursor:pointer;margin-right:6px}' + 29 '#dob-korzina button{background:#fff;color:#4d6675}' + 30 '@media (max-width:767px){#dob-korzina{right:10px;left:10px;bottom:10px;max-width:none}}'; 31 32 var plashka; 33 34 function sozdat() { 35 if (plashka) return plashka; 36 var s = document.createElement('style'); 37 s.appendChild(document.createTextNode(STIL)); 38 document.head.appendChild(s); 39 40 plashka = document.createElement('div'); 41 plashka.id = 'dob-korzina'; 42 plashka.innerHTML = '<b>Ð¢Ð¾Ð²Ð°Ñ Ð² коÑзине</b>' + 43 '<div class="dob-tovar"></div>' + 44 '<a href="/cart/">ÐеÑейÑи в коÑзинÑ</a>' + 45 '<button type="button">ÐÑодолжиÑÑ</button>'; 46 document.body.appendChild(plashka); 47 plashka.querySelector('button').onclick = spryatat; 48 return plashka; 49 } 50 51 var tajmer; 52 function spryatat() { 53 if (plashka) plashka.className = ''; 54 clearTimeout(tajmer); 55 } 56 57 function pokazat(imya) { 58 var p = sozdat(); 59 p.querySelector('.dob-tovar').textContent = imya || ''; 60 p.className = 'dob-on'; 61 clearTimeout(tajmer); 62 tajmer = setTimeout(spryatat, 6000); 63 } 64 65 function schetchik(otvet) { 66 var el = document.getElementById('cart_items'); 67 if (!el) return; 68 var m = String(otvet || '').match(/id="cart_items"[^>]*>([^<]*)</); 69 if (m) { el.innerHTML = ' ' + m[1].replace(/\D/g, '') + ' '; return; } 70 var bylo = parseInt((el.innerHTML || '').replace(/\D/g, ''), 10) || 0; 71 el.innerHTML = ' ' + (bylo + 1) + ' '; 72 } 73 74 /* ÐладÑÑ ÑÐ¾Ð²Ð°Ñ Ð² коÑÐ·Ð¸Ð½Ñ Ð¸ показÑÐ²Ð°ÐµÑ Ð¿Ð»Ð°ÑкÑ. 75 url â ÑÐ¾Ñ Ð¶Ðµ адÑÐµÑ /order/?â¦, ÑÑо ÑÑоÑл в ÑÑÑлке. 76 imya â ÑÑо напиÑаÑÑ Ð² плаÑке (необÑзаÑелÑно). 77 zapasnoj â кÑда ÑйÑи, еÑли запÑÐ¾Ñ Ð½Ðµ пÑоÑÑл. */ 78 function polozhit(url, imya, zapasnoj) { 79 var x = new XMLHttpRequest(); 80 x.open('GET', url, true); 81 x.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); 82 x.onload = function () { 83 if (x.status >= 200 && x.status < 400) { 84 schetchik(x.responseText); 85 pokazat(imya); 86 if (window.CEL) CEL('v_korzinu', {otkuda: 'katalog'}); 87 } else if (zapasnoj !== false) { 88 window.location = zapasnoj || url; 89 } 90 }; 91 x.onerror = function () { 92 if (zapasnoj !== false) window.location = zapasnoj || url; 93 }; 94 x.send(); 95 } 96 97 function imya_tovara(ssylka) { 98 var karta = ssylka.closest ? ssylka.closest('.product_item, .item_collection, .product-scope') : null; 99 var n = karta && karta.querySelector('.product_name'); 100 return n ? n.textContent.replace(/\s+/g, ' ').trim() : ''; 101 } 102 103 document.addEventListener('click', function (e) { 104 var a = e.target && e.target.closest ? e.target.closest('a') : null; 105 if (!a) return; 106 var href = a.getAttribute('href') || ''; 107 if (href.indexOf('/order/?product') !== 0) return; 108 // ÑÑеднÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ° и клик Ñ Ctrl/Cmd â пÑÑÑÑ ÑабоÑаÑÑ ÐºÐ°Ðº обÑÑно 109 if (e.metaKey || e.ctrlKey || e.shiftKey || e.button === 1) return; 110 e.preventDefault(); 111 polozhit(href, imya_tovara(a)); 112 }, false); 113 114 /* ÐÐ»Ñ ÐºÐ½Ð¾Ð¿Ð¾Ðº Ñо Ñвоим обÑабоÑÑиком: каÑÑоÑка ÑоваÑа и бÑÑÑÑÑй пÑоÑмоÑÑ. */ 115 window.CART_NOTICE = { show: pokazat, add: polozhit, count: schetchik }; 116})();
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.