1<!DOCTYPE html> 2<html lang="ru"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>Ð¢ÐµÑ Ð½Ð¾Ð´ÐµÐ»ÑÑа â диагноÑÑика генеÑаÑоÑа в ÐинÑке | Ðа ÑÑенде и на авÑомобиле</title> 7 <meta name="description" content="ÐÑоÑеÑÑионалÑÐ½Ð°Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑика генеÑаÑоÑа на ÑÑенде и на авÑомобиле. ÐÑовеÑка напÑÑжениÑ, ÑегÑлÑÑоÑа, диодного моÑÑа, подÑипников. ÐпÑеделÑем пÑиÑÐ¸Ð½Ñ Ð½ÐµÐ¸ÑпÑавноÑÑи. ÐÑбÑе маÑки."> 8 9 <!-- ===== OG TAGS ===== --> 10 <meta property="og:title" content="Ð¢ÐµÑ Ð½Ð¾Ð´ÐµÐ»ÑÑа â диагноÑÑика генеÑаÑоÑа в ÐинÑке | Ðа ÑÑенде и на авÑомобиле"> 11 <meta property="og:description" content="ÐÑоÑеÑÑионалÑÐ½Ð°Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑика генеÑаÑоÑа на ÑÑенде и на авÑомобиле. ÐÑовеÑка напÑÑжениÑ, ÑегÑлÑÑоÑа, диодного моÑÑа, подÑипников. ÐпÑеделÑем пÑиÑÐ¸Ð½Ñ Ð½ÐµÐ¸ÑпÑавноÑÑи. ÐÑбÑе маÑки."> 12 <meta property="og:image" content="https://auto-remont.by/d/diagnostika-generatora.webp"> 13 <meta property="og:url" content="https://auto-remont.by/remont-generatorov/diagnostika/"> 14 <meta property="og:type" content="website"> 15 <meta property="og:site_name" content="Ð¢ÐµÑ Ð½Ð¾Ð´ÐµÐ»ÑÑа"> 16 <meta property="og:locale" content="ru_RU"> 17 18 <!-- ===== TWITTER CARDS ===== --> 19 <meta name="twitter:card" content="summary_large_image"> 20 <meta name="twitter:title" content="Ð¢ÐµÑ Ð½Ð¾Ð´ÐµÐ»ÑÑа â диагноÑÑика генеÑаÑоÑа в ÐинÑке | Ðа ÑÑенде и на авÑомобиле"> 21 <meta name="twitter:description" content="ÐÑоÑеÑÑионалÑÐ½Ð°Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑика генеÑаÑоÑа на ÑÑенде и на авÑомобиле. ÐÑовеÑка напÑÑжениÑ, ÑегÑлÑÑоÑа, диодного моÑÑа, подÑипников. ÐпÑеделÑем пÑиÑÐ¸Ð½Ñ Ð½ÐµÐ¸ÑпÑавноÑÑи. ÐÑбÑе маÑки."> 22 <meta name="twitter:image" content="https://auto-remont.by/d/diagnostika-generatora.webp"> 23 24 <!-- ===== ÐÐТÐ-ТÐÐÐ ÐÐЯ ÐÐÐСÐÐÐÐ Ð ÐÐТРÐÐÐ ===== --> 25 <meta name="yandex-verification" content="01b411399719d278" /> 26<meta name="google-site-verification" content="3mpj_rkq6BnDhEkMp3eBYx7EjTLEH8esGAH292ebofs" /> 27<!-- Yandex Metrika -->
28<script type="text/javascript">
vendor: 406 bytes, lines 28-35
28 29 (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; 30 m[i].l=1*new Date(); 31 for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} 32 k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) 33 (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); 34 35 ym(
35102069334
vendor: 123 bytes, lines 35-40
35, "init", { 36 clickmap:true, 37 trackLinks:true, 38 accurateTrackBounce:true, 39 webvisor:true 40 });
41</script>
41 42<noscript><div><img src="https://mc.yandex.ru/watch/102069334" style="position:absolute; left:-9999px;" alt="" /></div></noscript> 43<!-- /Yandex Metrika --> 44 <link rel="canonical" href="https://auto-remont.by/remont-generatorov/diagnostika/"> 45 46 <meta name="geo.region" content="BY-HM"> 47 <meta name="geo.placename" content="ÐинÑк"> 48 <meta name="ICBM" content="53.899277, 27.656973"> 49 50 <link rel="stylesheet" href="/assets/css/main.css?v=1791104821"> 51 52
52<script type="application/ld+json">{"@context":"https://schema.org","@type":"AutoRepair","@id":"https://auto-remont.by/#organization","name":"ТеÑ
ноделÑÑа","description":"Ð ÐµÐ¼Ð¾Ð½Ñ ÑÑаÑÑеÑов и генеÑаÑоÑов в ÐинÑке Ñ 1998 года","url":"https://auto-remont.by","image":"https://auto-remont.by/uploads/media/folder_2/5b7c0d19951411f18e1782d6dc1823f5-1-83ee.webp","logo":{"@type":"ImageObject","url":"https://auto-remont.by/uploads/media/folder_2/5b7c0d19951411f18e1782d6dc1823f5-1-83ee.webp"},"telephone":"+375 (29) 112-84-84","email":"[email protected]","address":{"@type":"PostalAddress","addressLocality":"ÐинÑк","streetAddress":"ÐинÑк, Ñл. ÐаÑпÑаÑова, 22","addressCountry":"BY"},"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["https://schema.org/Monday","https://schema.org/Tuesday","https://schema.org/Wednesday","https://schema.org/Thursday","https://schema.org/Friday"],"opens":"09:00","closes":"20:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":["https://schema.org/Saturday","https://schema.org/Sunday"],"opens":"09:00","closes":"18:00"}],"priceRange":"$$","paymentAccepted":"ÐалиÑнÑе, каÑÑа","currenciesAccepted":"BYN","areaServed":[{"@type":"City","name":"ÐинÑк"},{"@type":"AdministrativeArea","name":"ЦенÑÑалÑнÑй Ñайон"},{"@type":"AdministrativeArea","name":"СовеÑÑкий Ñайон"},{"@type":"AdministrativeArea","name":"ÐеÑвомайÑкий Ñайон"},{"@type":"AdministrativeArea","name":"ÐаÑÑизанÑкий Ñайон"},{"@type":"AdministrativeArea","name":"ÐаводÑкой Ñайон"},{"@type":"AdministrativeArea","name":"ÐенинÑкий Ñайон"},{"@type":"AdministrativeArea","name":"ÐкÑÑбÑÑÑкий Ñайон"},{"@type":"AdministrativeArea","name":"ÐоÑковÑкий Ñайон"},{"@type":"AdministrativeArea","name":"ФÑÑнзенÑкий Ñайон"}],"geo":{"@type":"GeoCoordinates","latitude":53.899277,"longitude":27.656973},"hasMap":"https://yandex.ru/maps/?pt=27.656973,53.899277&z=17&l=map"}</script>
vendor: 1 bytes, line 52
52
53<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","url":"https://auto-remont.by","name":"ТеÑ
ноделÑÑа","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://auto-remont.by/baza-znanij/search/?q={search_term_string}"},"query-input":"required name=search_term_string"}}</script>
vendor: 1 bytes, line 53
53
54<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"СÑаÑÑеÑа и генеÑаÑоÑÑ","item":"https://auto-remont.by/remont-starterov-generatorov/"},{"@type":"ListItem","position":2,"name":"Ð ÐµÐ¼Ð¾Ð½Ñ Ð³ÐµÐ½ÐµÑаÑоÑов","item":"https://auto-remont.by/remont-generatorov/"},{"@type":"ListItem","position":3,"name":"ÐиагноÑÑика генеÑаÑоÑа","item":"https://auto-remont.by/remont-generatorov/diagnostika/"}]}</script>
vendor: 1 bytes, line 54
54
55<script type="application/ld+json">{"@context":"https://schema.org","@type":"Service","name":"ÐиагноÑÑика генеÑаÑоÑа","description":"ÐÑоÑеÑÑионалÑÐ½Ð°Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑика генеÑаÑоÑа на ÑÑенде и на авÑомобиле. ÐÑовеÑка напÑÑжениÑ, ÑегÑлÑÑоÑа, диодного моÑÑа, подÑипников. ÐпÑеделÑем пÑиÑÐ¸Ð½Ñ Ð½ÐµÐ¸ÑпÑавноÑÑи. ÐÑбÑе маÑки.","serviceType":"ÐиагноÑÑика генеÑаÑоÑа","provider":{"@id":"https://auto-remont.by/#organization"},"areaServed":{"@type":"City","name":"ÐинÑк"}}</script>
vendor: 1 bytes, line 55
55
56<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Ðожно пÑиеÑ
аÑÑ Ð±ÐµÐ· запиÑи?","acceptedAnswer":{"@type":"Answer","text":"Ðа, по диагноÑÑике генеÑаÑоÑов ÑаÑе вÑего ÑабоÑаем без пÑедваÑиÑелÑной запиÑи. Ðо ÑложнÑм ÑлÑÑаÑм ÑекомендÑем позвониÑÑ Ð·Ð°Ñанее."}},{"@type":"Question","name":"ÐиагноÑÑика генеÑаÑоÑа â ÑÑо на авÑомобиле или нÑжно ÑнимаÑÑ?","acceptedAnswer":{"@type":"Answer","text":"ÐаÑинаем Ñ Ð¿ÑовеÑки на авÑомобиле. ÐÑли нÑжно â Ñнимаем и пÑоводим ÑÑендовÑÑ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑикÑ. Ðожно пÑивезÑи Ñже ÑнÑÑÑй генеÑаÑÐ¾Ñ â вÑполним пÑовеÑÐºÑ Ð½Ð° ÑÑенде."}},{"@type":"Question","name":"СколÑко вÑемени Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑика?","acceptedA
56nswer":{"@type":"Answer","text":"РболÑÑинÑÑве ÑлÑÑаев 20â30 минÑÑ. СложнÑе ÑлÑÑаи Ñ ÑазбоÑкой могÑÑ Ð·Ð°Ð½ÑÑÑ Ð´Ð¾ ÑаÑа."}},{"@type":"Question","name":"ÐиагноÑÑика плаÑнаÑ, еÑли ÑÐµÐ¼Ð¾Ð½Ñ Ð½Ðµ нÑжен?","acceptedAnswer":{"@type":"Answer","text":"Ðа, диагноÑÑика оплаÑиваеÑÑÑ Ð¾ÑделÑно, еÑли Ð²Ñ ÑеÑили не ÑемонÑиÑоваÑÑÑÑ. ÐÑи поÑледÑÑÑем ÑемонÑе ÑÑоимоÑÑÑ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑики не взимаеÑÑÑ."}},{"@type":"Question","name":"ÐиагноÑÑиÑÑеÑе ли генеÑаÑоÑÑ Ð¼Ð¸ÐºÑоавÑобÑÑов и гÑÑзовÑÑ
?","acceptedAnswer":{"@type":"Answer","text":"Ðа, Ð´Ð»Ñ Ð³ÑÑзовÑÑ
и микÑоавÑобÑÑов оÑделÑнÑй ÑеÑ
на пеÑ. СолÑÑÑа, 5. ÐоÑнÑе генеÑаÑоÑÑ Ñ Ð²ÑÑокой ÑокооÑдаÑей ÑÑебÑÑÑ Ð¾Ñобого подÑ
ода â Ñ Ð½Ð°Ñ ÐµÑÑÑ Ð¾Ð¿ÑÑ Ð¸ обоÑÑдование."}},{"@type":"Question","name":"ЧÑо делаÑÑ, еÑли генеÑаÑÐ¾Ñ Ð½Ðµ заÑÑжаеÑ, но лампа не гоÑиÑ?","acceptedA
56nswer":{"@type":"Answer","text":"Такое возможно пÑи неиÑпÑавноÑÑи диодного моÑÑа или пÑоблемаÑ
в Ñепи ÑпÑавлениÑ. ÐÑжна диагноÑÑика â ÑаÑÑо неиÑпÑавноÑÑÑ Ð½Ðµ оÑевидна без измеÑиÑелÑнÑÑ
пÑибоÑов."}}]}</script>
56 57</head> 58<body> 59 60<style> 61:root { 62 --color-primary: #ec7404; 63 --color-dark: #011846; 64 --color-bg-warm: #faf8f5; 65 --color-white: #fff; 66 --color-text: #1a1a1a; 67 --color-text-secondary: #666; 68 --color-text-muted: #999; 69 --color-border: #e8e4df; 70 --color-card-shadow: rgba(0,0,0,0.04); 71 --color-card-shadow-hover: rgba(0,0,0,0.08); 72} 73</style> 74 75<header class="td-header" id="tdHeader"> 76 <!-- ÐеÑÑ Ð½Ð¸Ð¹ ÑÑд: логоÑип | Ð¼ÐµÐ½Ñ | заÑвка | бÑÑÐ³ÐµÑ --> 77 <div class="td-header-top"> 78 <div class="td-header-inner"> 79 <div class="td-header-left"> 80 <a href="/" class="td-logo" aria-label="Ð¢ÐµÑ Ð½Ð¾Ð´ÐµÐ»ÑÑа â на главнÑÑ"> 81 <img src="/uploads/media/folder_2/5b7c0d19951411f18e1782d6dc1823f5-1-83ee.webp" alt="Ð¢ÐµÑ Ð½Ð¾Ð´ÐµÐ»ÑÑа" class="td-logo-img"> 82 <span class="td-logo-text"> 83 Ð¢ÐµÑ Ð½Ð¾Ð´ÐµÐ»ÑÑа <span class="td-logo-sub">СÑаÑÑеÑÑ Ð¸ генеÑаÑоÑÑ</span> </span> 84 </a> 85 </div> 86 87 <button class="td-burger" onclick="toggleMobileMenu()" aria-label="ÐенÑ">â°</button> 88 89 <nav class="td-nav" id="tdNav"> 90 <div class="td-nav-item" data-level="0"> 91 <a href="/main" class="td-nav-link">ÐлавнаÑ</a> 92 </div> 93 <div class="td-nav-item has-children" data-level="0"> 94 <a href="/remont-starterov-generatorov" class="td-nav-link">СÑаÑÑеÑа и генеÑаÑоÑÑ</a> 95 <button class="td-nav-toggle" aria-label="ÐодменÑ" onclick="toggleSubmenu(this)"> 96 <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1L5 5L9 1"/></svg> 97 </button> 98 <div class="td-dropdown"> 99 <div class="td-dropdown-item has-children" data-level="1"> 100 <a href="/remont-generatorov" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð³ÐµÐ½ÐµÑаÑоÑов</a> 101 <button class="td-nav-toggle" aria-label="ÐодменÑ" onclick="toggleSubmenu(this)"> 102 <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1L5 5L9 1"/></svg> 103 </button> 104 <div class="td-dropdown-submenu"> 105 <div class="td-dropdown-item" data-level="2"> 106 <a href="/remont-generatorov/diagnostika" class="td-dropdown-link">ÐиагноÑÑика генеÑаÑоÑа</a> 107 </div> 108 <div class="td-dropdown-item" data-level="2"> 109 <a href="/remont-generatorov/remont" class="td-dropdown-link">ÐоÑÑÑановление генеÑаÑоÑа</a> 110 </div> 111 <div class="td-dropdown-item" data-level="2"> 112 <a href="/remont-generatorov/peremotka-statora" class="td-dropdown-link">ÐеÑемоÑка ÑÑаÑоÑа генеÑаÑоÑа</a> 113 </div> 114 </div> 115 </div> 116 <div class="td-dropdown-item has-children" data-level="1"> 117 <a href="/remont-starterov" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ ÑÑаÑÑеÑов</a> 118 <button class="td-nav-toggle" aria-label="ÐодменÑ" onclick="toggleSubmenu(this)"> 119 <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1L5 5L9 1"/></svg> 120 </button> 121 <div class="td-dropdown-submenu"> 122 <div class="td-dropdown-item" data-level="2"> 123 <a href="/remont-starterov/diagnostika" class="td-dropdown-link">ÐиагноÑÑика ÑÑаÑÑеÑа</a> 124 </div> 125 <div class="td-dropdown-item" data-level="2"> 126 <a href="/remont-starterov/remont" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð¸ воÑÑÑановление ÑÑаÑÑеÑа</a> 127 </div> 128 <div class="td-dropdown-item" data-level="2"> 129 <a href="/remont-starterov/zamena-bendiksa" class="td-dropdown-link">
129Ðамена бендикÑа</a> 130 </div> 131 <div class="td-dropdown-item" data-level="2"> 132 <a href="/remont-starterov/snyatie-ustanovka" class="td-dropdown-link">СнÑÑие и ÑÑÑановка ÑÑаÑÑеÑа</a> 133 </div> 134 </div> 135 </div> 136 <div class="td-dropdown-item" data-level="1"> 137 <a href="/remont-starterov-generatorov/snyatie-ustanovka-startera-generatora" class="td-dropdown-link">СнÑÑие и ÑÑÑановка ÑÑаÑÑеÑа и генеÑаÑоÑа</a> 138 </div> 139 <div class="td-dropdown-item" data-level="1"> 140 <a href="/remont-starter-generatorov-48v" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ ÑÑаÑÑеÑ-генеÑаÑоÑов 48V</a> 141 </div> 142 <div class="td-dropdown-item" data-level="1"> 143 <a href="/remont-generatorov-mikroavtobusov" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð³ÐµÐ½ÐµÑаÑоÑов микÑоавÑобÑÑов</a> 144 </div> 145 <div class="td-dropdown-item" data-level="1"> 146 <a href="/remont-starterov-mikroavtobusov" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ ÑÑаÑÑеÑов микÑоавÑобÑÑов</a> 147 </div> 148 <div class="td-dropdown-item" data-level="1"> 149 <a href="/remont-generatorov-gruzovyh" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð³ÐµÐ½ÐµÑаÑоÑов гÑÑзовÑÑ </a> 150 </div> 151 <div class="td-dropdown-item" data-level="1"> 152 <a href="/remont-starterov-gruzovyh" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ ÑÑаÑÑеÑов гÑÑзовÑÑ </a> 153 </div> 154 <div class="td-dropdown-item" data-level="1"> 155 <a href="/remont-starterov-avtobusov" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ ÑÑаÑÑеÑов авÑобÑÑов</a> 156 </div> 157 <div class="td-dropdown-item" data-level="1"> 158 <a href="/garantiya" class="td-dropdown-link">ÐаÑанÑиÑ</a> 159 </div> 160 </div> 161 </div> 162 <div class="td-nav-item has-children" data-level="0"> 163 <a href="/elektromehanika" class="td-nav-link">ÐлекÑÑÐ¾Ð¼ÐµÑ Ð°Ð½Ð¸ÐºÐ°</a> 164 <button class="td-nav-toggle" aria-label="ÐодменÑ" onclick="toggleSubmenu(this)"> 165 <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1L5 5L9 1"/></svg> 166 </button> 167 <div class="td-dropdown"> 168 <div class="td-dropdown-item" data-level="1"> 169 <a href="/remont-motorchikov-pechki" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð¼Ð¾ÑоÑÑиков пеÑки</a> 170 </div> 171 <div class="td-dropdown-item" data-level="1"> 172 <a href="/remont-ventilyatora-radiatora" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð²ÐµÐ½ÑилÑÑоÑа ÑадиаÑоÑа</a> 173 </div> 174 <div class="td-dropdown-item" data-level="1"> 175 <a href="/remont-privodov-dverey" class="td-dropdown-link">ÐоÑоÑÑики лÑков и пÑÐ¸Ð²Ð¾Ð´Ñ Ð´Ð²ÐµÑей</a> 176 </div> 177 <div class="td-dropdown-item" data-level="1"> 178 <a href="/remont-ventilyatorov-ohlazhdeniya-elektromobilej" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð²ÐµÐ½ÑилÑÑоÑов Ð¾Ñ Ð»Ð°Ð¶Ð´ÐµÐ½Ð¸Ñ ÑлекÑÑомобилей</a> 179 </div> 180 <div class="td-dropdown-item" data-level="1"> 181 <a href="/avtoelektrika" class="td-dropdown-link">ÐвÑоÑлекÑÑика</a> 182 </div> 183 </div> 184 </div> 185 <div class="td-nav-item has-children" data-level="0"> 186 <a href="/diagnostika-i-to" class="td-nav-link">ÐиагноÑÑика и ТÐ</a> 187 <button class="td-nav-toggle" aria-label="ÐодменÑ" onclick="toggleSubmenu(this)"> 188 <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1L5 5L9 1"/></svg> 189 </button> 190 <div class="td-dropdown"> 191 <div class="td-dropdown-item" data-level="1"> 192 <a href="/kompyuternaya-diagnostika" class="td-dropdown-link">ÐомпÑÑÑеÑÐ½Ð°Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑика</a> 193 </div> 194 <div class="td-dropdown-item" data-level="1"> 195 <a href="/diagnostika-dymogeneratorom" class="td-dropdown-link">ÐиагноÑÑика дÑмогенеÑаÑоÑом</a> 196 </div> 197 <div class="td-dropdown-item" data-level="1"> 198 <a href="/to-avtomobilej-v-minske" class="td-dropdown-link">Ð¢ÐµÑ Ð½Ð¸ÑеÑкое обÑлÑживание авÑомобилей</a> 199 </div> 200 <div class="td-dropdown-item" data-level="1"> 201 <a href="/oshibki-pribornoj-paneli" class="td-dropdown-link">ÐÑибки пÑибоÑной панели</a> 202 </div> 203 </div> 204 </div> 205 <div class="td-nav-item has-children" data-level="0"> 206 <a href="/avtoservis" class="td-nav-link">ÐвÑоÑеÑвиÑ</a> 207 <button class="td-nav-toggle" aria-label="ÐодменÑ" onclick="toggleSubmenu(this)"> 208 <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1L5 5L9 1"/></svg> 209 </button> 210 <div class="td-dropdown"> 211 <div class="td-dropdown-item" data-level="1"> 212 <a href="/remont-dvigatelya" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð´Ð²Ð¸Ð³Ð°ÑелÑ</a> 213 </div> 214 <div class="td-dropdown-item" data-level="1"> 215 <a href="/zamena-grm-v-minske" class="td-dropdown-link">Ðамена ÐÐ Ð</a> 216 </div> 217 <div class="td-dropdown-item" data-level="1"> 218 <a href="/remont-hodovoj-tormozov" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ñ Ð¾Ð´Ð¾Ð²Ð¾Ð¹ | ÑоÑмозов</a> 219 </div> 220 <div class="td-dropdown-item" data-level="1"> 221 <a href="/remont-transmissii" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ ÑÑанÑмиÑÑии</a> 222 </div> 223 <div class="td-dropdown-item" data-level="1"> 224 <a href="/zamena-masla-i-zhidkostej" class="td-dropdown-link">Ðамена маÑла и жидкоÑÑей в авÑо</a> 225 </div> 226 <div class="td-dropdown-item" data-level="1"> 227 <a href="/remont-vyhlopnoj" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð²ÑÑ Ð»Ð¾Ð¿Ð½Ð¾Ð¹</a> 228 </div> 229 <div class="td-dropdown-item" data-level="1"> 230 <a href="/razval-shozhdenie" class="td-dropdown-link">Развал-ÑÑ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ðµ</a> 231 </div> 232 <div class="td-dropdown-item" data-level="1"> 233 <a href="/avtopomoshch" class="td-dropdown-link">ÐвÑопомоÑÑ</a> 234 </div> 235 </div> 236 </div> 237 <div class="td-nav-item has-children" data-level="0"> 238 <a href="/klimat-i-ohlazhdeniye" class="td-nav-link">ÐÐ»Ð¸Ð¼Ð°Ñ Ð¸ Ð¾Ñ Ð»Ð°Ð¶Ð´ÐµÐ½Ð¸Ðµ</a> 239 <button class="td-nav-toggle" aria-label="ÐодменÑ" onclick="toggleSubmenu(this)"> 240 <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1L5 5L9 1"/></svg> 241 </button> 242 <div class="td-dropdown"> 243 <div class="td-dropdown-item" data-level="1"> 244 <a href="/remont-kondicionerov" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ ÐºÐ¾Ð½Ð´Ð¸ÑионеÑов</a> 245 </div> 246 <div class="td-dropdown-item" data-level="1"> 247 <a href="/zapravka-kondicionerov" class="td-dropdown-link">ÐапÑавка кондиÑионеÑов</a> 248 </div> 249 <div class="td-dropdown-item" data-level="1"> 250 <a href="/promyvka-sistemy-ohlazhdeniya" class="td-dropdown-link">ÐÑомÑвка ÑиÑÑÐµÐ¼Ñ Ð¾Ñ Ð»Ð°Ð¶Ð´ÐµÐ½Ð¸Ñ</a> 251 </div> 252 <div class="td-dropdown-item" data-level="1"> 253 <a href="/remont-sistemy-ohlazhdeniya" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ ÑиÑÑÐµÐ¼Ñ Ð¾Ñ Ð»Ð°Ð¶Ð´ÐµÐ½Ð¸Ñ</a> 254 </div> 255 <div class="td-dropdown-item" data-level="1"> 256 <a href="/remont-sistemy-otopleniya" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ ÑиÑÑÐµÐ¼Ñ Ð¾ÑоплениÑ</a> 257 </div> 258 </div> 259 </div> 260 <div class="td-nav-item has-children" data-level="0"> 261 <a href="/specuslugi" class="td-nav-link">СпеÑÑÑлÑги</a> 262 <button class="td-nav-toggle" aria-label="ÐодменÑ" onclick="toggleSubmenu(this)"> 263 <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1L5 5L9 1"/></svg> 264 </button> 265 <div class="td-dropdown"> 266 <div class="td-dropdown-item" data-level="1"> 267 <a href="/antikorrozijnaja-obrabotka" class="td-dropdown-link">ÐнÑикоÑÑÐ¾Ð·Ð¸Ð¹Ð½Ð°Ñ Ð¾Ð±ÑабоÑка</a> 268 </div> 269 <div class="td-dropdown-item" data-level="1"> 270 <a href="/lazernaya-ochistka" class="td-dropdown-link">ÐазеÑÐ½Ð°Ñ Ð¾ÑиÑÑка</a> 271 </div> 272 <div class="td-dropdown-item" data-level="1"> 273 <a href="/argonnaya-svarka-avto-minsk" class="td-dropdown-link">ÐÑÐ³Ð¾Ð½Ð½Ð°Ñ ÑваÑка</a> 274 </div> 275 </div> 276 </div> 277 <div class="td-nav-item has-children" data-level="0"> 278 <a href="/kommercheskij-transport" class="td-nav-link">ÐоммеÑÑеÑкий ÑÑанÑпоÑÑ</a> 279 <button class="td-nav-toggle" aria-label="ÐодменÑ" onclick="toggleSubmenu(this)"> 280 <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1L5 5L9 1"/></svg> 281 </button> 282 <div class="td-dropdown"> 283 <div class="td-dropdown-item" data-level="1"> 284 <a href="/remont-mikroavtobusov" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð¼Ð¸ÐºÑоавÑобÑÑов</a> 285 </div> 286 <div class="td-dropdown-item" data-level="1"> 287 <a href="/remont-gruzovyh" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð³ÑÑзовÑÑ </a> 288 </div> 289 <div class="td-dropdown-item" data-level="1"> 290 <a href="/remont-avtobusov" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð°Ð²ÑобÑÑов</a> 291 </div> 292 <div class="td-dropdown-item" data-level="1"> 293 <a href="/diagnostika-i-to-kommercheskogo-transporta" class="td-dropdown-link">ÐиагноÑÑика и ТÐ</a> 294 </div> 295 <div class="td-dropdown-item" data-level="1"> 296 <a href="/remont-dvigatelya-i-transmissii-kommercheskogo-transporta" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð´Ð²Ð¸Ð³Ð°ÑÐµÐ»Ñ Ð¸ ÑÑанÑмиÑÑии</a> 297 </div> 298 <div class="td-dropdown-item" data-level="1"> 299 <a href="/remont-podveski-i-tormozov-kommercheskogo-transporta" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ Ð¿Ð¾Ð´Ð²ÐµÑки и ÑоÑмозов</a> 300 </div> 301 <div class="td-dropdown-item" data-level="1"> 302 <a href="/remont-elektrooborudovaniya-kommercheskogo-transporta" class="td-dropdown-link">Ð ÐµÐ¼Ð¾Ð½Ñ ÑлекÑÑообоÑÑдованиÑ</a> 303 </div> 304 <div class="td-dropdown-item" data-level="1"> 305 <a href="/promyvka-sistemy-ohlazhdeniya-kommercheskogo-transporta" class="td-dropdown-link">ÐÑомÑвка ÑиÑÑÐµÐ¼Ñ Ð¾Ñ Ð»Ð°Ð¶Ð´ÐµÐ½Ð¸Ñ</a> 306 </div> 307 <div class="td-dropdown-item" data-level="1"> 308 <a href="/promyvka-pechki-kommercheskogo-transporta" class="td-dropdown-link">ÐÑомÑвка пеÑки</a> 309 </div> 310 <div class="td-dropdown-item" data-level="1"> 311 <a href="/razval-shozhdenie-kommercheskogo-transporta" class="td-dropdown-link">Развал-ÑÑ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ðµ</a> 312 </div> 313 </div> 314 </div> 315 <div class="td-nav-item" data-level="0"> 316 <a href="/ii-konsultant" class="td-nav-link">ÐРконÑÑлÑÑанÑ</a> 317 </div> 318 <div class="td-nav-item has-children" data-level="0"> 319 <a href="/o-kompanii" class="td-nav-link">Ркомпании</a> 320 <button class="td-nav-toggle" aria-label="ÐодменÑ" onclick="toggleSubmenu(this)"> 321 <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1L5 5L9 1"/></svg> 322 </button> 323 <div class="td-dropdown"> 324 <div class="td-dropdown-item" data-level="1"> 325 <a href="/kontakty" class="td-dropdown-link">ÐонÑакÑÑ</a> 326 </div> 327 <div class="td-dropdown-item" data-level="1"> 328 <a href="/politika-konfidencialnosti" class="td-dropdown-link">ÐолиÑика конÑиденÑиалÑноÑÑи</a> 329 </div> 330 </div> 331 </div> 332 <div class="td-nav-item" data-level="0"> 333 <a href="/stati/" class="td-nav-link">СÑаÑÑи</a> 334 </div> 335 <div class="td-nav-item" data-level="0"> 336 <a href="/baza-znanij/" class="td-nav-link">Ðаза знаний</a> 337 </div> 338 <div class="td-nav-item" data-level="0"> 339 <a href="/partnery" class="td-nav-link">ÐаÑи паÑÑнеÑÑ</a> 340 </div> 341 <div class="td-nav-item has-children" data-level="0"> 342 <a href="/avtomobili" class="td-nav-link">ÐвÑомобили</a> 343 <button class="td-nav-toggle" aria-label="ÐодменÑ" onclick="toggleSubmenu(this)"> 344 <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1L5 5L9 1"/></svg> 345 </button> 346 <div class="td-dropdown"> 347 <div class="td-dropdown-item" data-level="1"> 348 <a href="/mazda" cla
348ss="td-dropdown-link">Ðазда</a> 349 </div> 350 <div class="td-dropdown-item" data-level="1"> 351 <a href="/peugeot" class="td-dropdown-link">Ðежо</a> 352 </div> 353 <div class="td-dropdown-item" data-level="1"> 354 <a href="/renault" class="td-dropdown-link">Рено</a> 355 </div> 356 </div> 357 </div> 358 <div class="td-nav-item has-children" data-level="0"> 359 <a href="/yuridicheskaya-pomoshch" class="td-nav-link">ЮÑидиÑеÑÐºÐ°Ñ Ð¿Ð¾Ð¼Ð¾ÑÑ</a> 360 <button class="td-nav-toggle" aria-label="ÐодменÑ" onclick="toggleSubmenu(this)"> 361 <svg width="10" height="6" viewBox="0 0 10 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 1L5 5L9 1"/></svg> 362 </button> 363 <div class="td-dropdown"> 364 <div class="td-dropdown-item" data-level="1"> 365 <a href="/yuridicheskaya-pomoshch-avtovladelcam" class="td-dropdown-link">ÐомоÑÑ Ð°Ð²ÑовладелÑÑам</a> 366 </div> 367 <div class="td-dropdown-item" data-level="1"> 368 <a href="/yuridicheskaya-zashchita-avtoservisov" class="td-dropdown-link">ÐаÑиÑа авÑоÑеÑвиÑов</a> 369 </div> 370 </div> 371 </div> 372 <!-- Overflow пÑÐ½ÐºÑ "ÐÑÑ" --> 373 <div class="td-nav-item td-nav-more" id="tdNavMore" style="display:none;"> 374 <a href="#" class="td-nav-link" onclick="event.preventDefault();">ÐÑÑ â°</a> 375 <div class="td-dropdown" id="tdNavMoreDropdown"></div> 376 </div> 377 </nav> 378 </div> 379 </div> 380 381 <!-- Ðижний ÑÑд: ÑелеÑÐ¾Ð½Ñ Ð¸Ð· ÐÐ --> 382 <div class="td-header-bottom"> 383 <div class="td-header-inner"> 384 <div class="td-header-phones"> 385 <a href="tel:+375291128484" class="td-phone-header" title="Ðегковой ÑеÑвиÑ"> 386 <span class="td-phone-label">Ðегковой ÑеÑвиÑ</span> +375 (29) 112-84-84 </a> 387 <a href="tel:+375291051919" class="td-phone-header" title="ÐÑÑзовой ÑеÑвиÑ"> 388 <span class="td-phone-label">ÐÑÑзовой ÑеÑвиÑ</span> +375 (29) 105-19-19 </a> 389 </div> 390 <div class="td-header-actions"> 391 <a href="#callback-form" class="td-btn td-btn-small">ÐаÑвка</a> 392 </div> 393 </div> 394 </div> 395</header> 396
397<script> 398(function() { 399 const header = document.getElementById('tdHeader'); 400 const nav = document.getElementById('tdNav'); 401 const more = document.getElementById('tdNavMore'); 402 const moreDropdown = document.getElementById('tdNavMoreDropdown'); 403 if (!nav || !more) return; 404 405 // СбÑаÑÑваем инлайновÑй display:none из HTML 406 more.style.display = ''; 407 more.classList.add('td-nav-hidden'); 408 409 const items = Array.from(nav.children).filter(function(el) { 410 return el.classList.contains('td-nav-item') && !el.classList.contains('td-nav-more'); 411 }); 412 413 var widths = []; 414 var moreWidth = 0; 415 416 function measure() { 417 items.forEach(function(i) { i.classList.remove('td-nav-hidden'); }); 418 more.classList.remove('td-nav-hidden'); 419 more.style.visibility = 'hidden'; 420 more.style.position = 'absolute'; 421 more.style.left = '-9999px'; 422 423 widths = items.map(function(i) { 424 return Math.ceil(i.getBoundingClientRect().width); 425 }); 426 moreWidth = Math.ceil(more.getBoundingClientRect().width); 427 428 more.style.visibility = ''; 429 more.style.position = ''; 430 more.style.left = ''; 431 more.classList.add('td-nav-hidden'); 432 } 433 434 function toDropdownClone(node) { 435 var clone = node.cloneNode(true); 436 clone.removeAttribute('id'); 437 clone.classList.remove('td-nav-item', 'td-nav-hidden'); 438 clone.classList.add('td-dropdown-item'); 439 440 var link = clone.querySelector('.td-nav-link'); 441 if (link) { 442 link.classList.remove('td-nav-link'); 443 link.classList.add('td-dropdown-link'); 444 } 445 446 var dd = clone.querySelector('.td-dropdown'); 447 if (dd) { 448 dd.classList.remove('td-dropdown'); 449 dd.classList.add('td-dropdown-submenu'); 450 } 451 452 clone.querySelectorAll('.td-nav-item').forEach(function(c) { 453 c.classList.remove('td-nav-item'); 454 c.classList.add('td-dropdown-item'); 455 }); 456 clone.querySelectorAll('.td-nav-link').forEach(function(c) { 457 c.classList.remove('td-nav-link'); 458 c.classList.add('td-dropdown-link'); 459 }); 460 clone.querySelectorAll('.td-dropdown').forEach(function(c) { 461 c.classList.remove('td-dropdown'); 462 c.classList.add('td-dropdown-submenu'); 463 }); 464 465 return clone; 466 } 467 468 function checkFit() { 469 var isMobile = window.innerWidth <= 768; 470 471 if (isMobile) { 472 items.forEach(function(i) { i.classList.remove('td-nav-hidden'); }); 473 more.classList.add('td-nav-hidden'); 474 moreDropdown.innerHTML = ''; 475 if (header) nav.style.top = header.offsetHeight + 'px'; 476 return; 477 } 478 479 nav.style.top = ''; 480 measure(); 481 482 var cs = getComputedStyle(nav); 483 var gap = parseFloat(cs.columnGap || cs.gap) || 0; 484 var available = nav.clientWidth; 485 486 var totalWidth = 0; 487 for (var i = 0; i < widths.length; i++) { 488 totalWidth += widths[i] + (i > 0 ? gap : 0); 489 } 490 491 if (totalWidth <= available) { 492 more.classList.add('td-nav-hidden'); 493 more.classList.remove('is-visible'); 494 moreDropdown.innerHTML = ''; 495 return; 496 } 497 498 var limit = available - moreWidth - gap; 499 var acc = 0; 500 var fitCount = 0; 501 502 for (var i = 0; i < widths.length; i++) { 503 var w = widths[i] + (i > 0 ? gap : 0); 504 if (acc + w > limit) break; 505 acc += w; 506 fitCount++; 507 } 508 509 moreDropdown.innerHTML = ''; 510 for (var i = fitCount; i < items.length; i++) { 511 items[i].classList.add('td-nav-hidden'); 512 moreDropdown.appendChild(toDropdownClone(items[i])); 513 } 514 515 if (fitCount < items.length) { 516 more.classList.remove('td-nav-hidden'); 517 more.classList.add('is-visible'); 518 } else { 519 more.classList.add('td-nav-hidden'); 520 more.classList.remove('is-visible'); 521 } 522 } 523 524 window.addEventListener('resize', checkFit); 525 window.addEventListener('load', checkFit); 526 setTimeout(checkFit, 50); 527 setTimeout(checkFit, 300); 528 if (document.fonts && document.fonts.ready) document.fonts.ready.then(checkFit); 529 530 window.toggleMobileMenu = function() { 531 nav.classList.toggle('open'); 532 }; 533
534 window.toggleSubmenu = function(btn) { 535 if (window.innerWidth > 768) return; 536 btn.classList.toggle('active'); 537 var dropdown = btn.nextElementSibling; 538 if (dropdown) dropdown.classList.toggle('active'); 539 }; 540 541 document.querySelectorAll('.td-nav-link, .td-dropdown-link').forEach(function(link) { 542 link.addEventListener('click', function() { 543 var hasDropdown = link.parentElement.querySelector('.td-dropdown, .td-dropdown-submenu'); 544 if (!hasDropdown) { 545 nav.classList.remove('open'); 546 } 547 }); 548 }); 549 550 // === ÐвÑоÑлип: еÑли dropdown вÑÐ»ÐµÐ·Ð°ÐµÑ Ð·Ð° пÑавÑй кÑай ÑкÑана === 551 function fixDropdownFlip() { 552 if (window.innerWidth <= 768) return; 553 document.querySelectorAll('.td-nav-item.has-children, .td-dropdown-item.has-children').forEach(function(item) { 554 var dd = item.querySelector(':scope > .td-dropdown, :scope > .td-dropdown-submenu'); 555 if (!dd) return; 556 dd.classList.remove('flip-left'); 557 var rect = dd.getBoundingClientRect(); 558 if (rect.right > window.innerWidth - 16) { 559 dd.classList.add('flip-left'); 560 } 561 }); 562 } 563 564 // ÐÑовеÑÑем пеÑед оÑкÑÑÑием 565 document.querySelectorAll('.td-nav-item, .td-dropdown-item').forEach(function(item) { 566 item.addEventListener('mouseenter', function() { 567 if (window.innerWidth > 768) fixDropdownFlip(); 568 }); 569 }); 570})(); 571</script>
571 572 573 <nav class="td-breadcrumbs" aria-label="breadcrumb"> 574 <ol class="td-breadcrumb-list"> 575 <li class="td-breadcrumb-item"> 576 <a href="/remont-starterov-generatorov">СÑаÑÑеÑа и генеÑаÑоÑÑ</a> 577 </li> 578 <li class="td-breadcrumb-item"> 579 <a href="/remont-generatorov">Ð ÐµÐ¼Ð¾Ð½Ñ Ð³ÐµÐ½ÐµÑаÑоÑов</a> 580 </li> 581 <li class="td-breadcrumb-item"> 582 <span>ÐиагноÑÑика генеÑаÑоÑа</span> 583 </li> 584 </ol> 585</nav> 586 <div class="td-section td-section-light" style="padding-top: 10px; padding-bottom: 10px;"> 587 <div class="td-container" style="max-width:1200px;margin:0 auto;padding:0 24px;"> 588 <h1 class="td-page-title" style="font-size:32px;font-weight:700;margin:0;">ÐиагноÑÑика генеÑаÑоÑа</h1> 589 </div> 590 </div> 591 592<main> 593 <section class="td-section td-section-light"> 594 <div class="td-hero"> 595 <div class="td-hero-main"> 596 <p class="td-eyebrow">Ð¢ÐµÑ Ð½Ð¾Ð´ÐµÐ»ÑÑа â Ñ 1998 года</p> 597 598 <p class="td-subtitle">ÐÑоÑеÑÑионалÑÐ½Ð°Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑика генеÑаÑоÑа на ÑÑенде и на авÑомобиле. ÐÑовеÑка напÑÑжениÑ, ÑегÑлÑÑоÑа, диодного моÑÑа, подÑипников. ТоÑно опÑеделÑем пÑиÑÐ¸Ð½Ñ Ð½ÐµÐ¸ÑпÑавноÑÑи. РабоÑаем Ñ Ð»ÐµÐ³ÐºÐ¾Ð²Ñми, микÑоавÑобÑÑами, гÑÑзовÑми и ÑпеÑÑÐµÑ Ð½Ð¸ÐºÐ¾Ð¹.</p> 599 600 <div class="td-chips"> 601 <span class="td-chip td-chip-accent">Ð¾Ñ 25 BYN</span> 602 <span class="td-chip ">Ðа ÑÑенде и на авÑо</span> 603 <span class="td-chip ">ÐÑбÑе маÑки</span> 604 </div> 605 606 <div class="td-contact-row"> 607 <a href="tel:+375291128484" class="td-phone-big">ð +375 (29) 112-84-84</a> 608 <a href="#kontakty" class="td-address-big">ð Ñл. ÐаÑпÑаÑова, 22</a> 609 <a href="#callback-form" class="td-callback-btn">ð ÐÑÑавиÑÑ Ð·Ð°ÑвкÑ</a> 610 </div> 611 </div> 612 613 <div class="td-hero-side"> 614 <div class="td-media td-media-frame td-media-fixed-md"> 615 <img src="/d/diagnostika-generatora.webp" alt="ÐиагноÑÑика генеÑаÑоÑа" class="td-img-cover" loading="eager"> 616 </div> 617 </div> 618 </div> 619</section> 620<section class="td-section td-section-light"> 621 <div class="td-section-head"> 622 <h2 class="td-title">Ðогда нÑжна диагноÑÑика генеÑаÑоÑа</h2> 623 </div> 624 <div class="td-grid"> 625 <div class="td-card td-card-warm" style="text-align:center;"> 626 627 <div style="font-size:40px;margin-bottom:12px;">â ï¸</div> 628 <h3 class="td-card-title">ÐоÑÐ¸Ñ Ð»Ð°Ð¼Ð¿Ð° аккÑмÑлÑÑоÑа</h3> 629 <p class="td-card-text">СамÑй ÑаÑÑÑй пÑизнак пÑоблем Ñ Ð·Ð°ÑÑдкой.</p> 630 631 632 </div> 633 <div class="td-card td-card-warm" style="text-align:center;"> 634 635 <div style="font-size:40px;margin-bottom:12px;">ð</div> 636 <h3 class="td-card-title">ÐккÑмÑлÑÑÐ¾Ñ Ð±ÑÑÑÑо ÑазÑÑжаеÑÑÑ</h3> 637 <p class="td-card-text">ÐаÑина Ð¿Ð»Ð¾Ñ Ð¾ заводиÑÑÑ Ð¿Ð¾Ñле ноÑной ÑÑоÑнки.</p> 638 639 640 </div> 641 <div class="td-card td-card-warm" style="text-align:center;"> 642 643 <div style="font-size:40px;margin-bottom:12px;">ð¡</div> 644 <h3 class="td-card-title">ТÑÑклÑй ÑÐ²ÐµÑ ÑаÑ</h3> 645 <p class="td-card-text">Ðли мигание пÑи ÑабоÑе двигаÑелÑ.</p> 646 647 648 </div> 649 <div class="td-card td-card-warm" style="text-align:center;"> 650 651 <div style="font-size:40px;margin-bottom:12px;">ð</div> 652 <h3 class="td-card-title">ÐоÑÑоÑонние звÑки</h3> 653 <p class="td-card-text">СвиÑÑ, гÑл, ÑкÑÐµÐ¶ÐµÑ Ñо ÑÑоÑÐ¾Ð½Ñ Ð³ÐµÐ½ÐµÑаÑоÑа.</p> 654 655 656 </div> 657 <div class="td-card td-card-warm" style="text-align:center;"> 658 659 <div style="font-size:40px;margin-bottom:12px;">ð</div> 660 <h3 class="td-card-title">ÐапÑÑжение неÑÑабилÑно</h3> 661 <p class="td-card-text">СкаÑки, пÑоÑадки, ÑлекÑÑоника ÑабоÑÐ°ÐµÑ Ð½ÐµÐºÐ¾ÑÑекÑно.</p> 662 663 664 </div> 665 <div class="td-card td-card-warm" style="text-align:center;"> 666 667 <div style="font-size:40px;margin-bottom:12px;">ð¥</div> 668 <h3 class="td-card-title">ÐÐ°Ð¿Ð°Ñ Ð³Ð°Ñи или дÑм</h3> 669 <p class="td-card-text">Ðз-под капоÑа.</p> 670 671 672 </div> 673 </div> 674</section><section class="td-section td-section-light"> 675 <div class="td-section-head"> 676 <h2 class="td-title">ЧÑо пÑовеÑÑем пÑи диагноÑÑике генеÑаÑоÑа</h2> 677 </div> 678 <div class="td-grid"> 679 <div class="td-card td-card-warm" style="text-align:center;"> 680 681 <div style="font-size:40px;margin-bottom:12px;">â¡</div> 682 <h3 class="td-card-title">ÐÑÑ Ð¾Ð´Ð½Ð¾Ðµ напÑÑжение</h3> 683 <p class="td-card-text">ÐÑовеÑÑем напÑÑжение на Ñ Ð¾Ð»Ð¾ÑÑом Ñ Ð¾Ð´Ñ Ð¸ под нагÑÑзкой. ÐоÑма: 13.8â14.4 Ð.</p> 684 685 686 </div> 687 <div class="td-card td-card-warm" style="text-align:center;"> 688 689 <div style="font-size:40px;margin-bottom:12px;">ð</div> 690 <h3 class="td-card-title">РегÑлÑÑÐ¾Ñ Ð½Ð°Ð¿ÑÑжениÑ</h3> 691 <p class="td-card-text">ÐÑовеÑÑем ÑÑабилÑноÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð°Ð½Ð¸Ñ Ð½Ð°Ð¿ÑÑжениÑ.</p> 692 693 694 </div> 695 <div class="td-card td-card-warm" style="text-align:center;"> 696 697 <div style="font-size:40px;margin-bottom:12px;">ð</div> 698 <h3 class="td-card-title">ÐиоднÑй моÑÑ</h3> 699 <p class="td-card-text">ÐÑовеÑÑем Ð´Ð¸Ð¾Ð´Ñ Ð½Ð° пÑобой и обÑÑв.</p> 700 701 702 </div> 703 <div class="td-card td-card-warm" style="text-align:center;"> 704 705 <div style="font-size:40px;margin-bottom:12px;">ð©</div> 706 <h3 class="td-card-title">ÐодÑипники и ÑоÑоÑ</h3> 707 <p class="td-card-text">ÐÑениваем ÑоÑÑоÑние подÑипников, лÑÑÑ, ÑÑмÑ.</p> 708 709 710 </div> 711 <div class="td-card td-card-warm" style="text-align:center;"> 712 713 <div style="font-size:40px;margin-bottom:12px;">ðª¥</div> 714 <h3 class="td-card-title">ЩÑÑоÑнÑй Ñзел</h3> 715 <p class="td-card-text">ÐÑовеÑÑем Ð¸Ð·Ð½Ð¾Ñ ÑÑÑок и ÑоÑÑоÑние конÑакÑнÑÑ ÐºÐ¾Ð»ÐµÑ.</p> 716 717 718 </div> 719 <div class="td-card td-card-warm" style="text-align:center;"> 720 721 <div style="font-size:40px;margin-bottom:12px;">ð§</div> 722 <h3 class="td-card-title">Ð¦ÐµÐ¿Ñ Ð·Ð°ÑÑдки</h3> 723 <p class="td-card-text">ÐÑовеÑÑем ÑиловÑе пÑовода, маÑÑÑ, клеммÑ.</p> 724 725 726 </div> 727 </div> 728</section><section class="td-section td-section-light"> 729 <div class="td-grid"> 730 <div class="td-card td-card-warm" style="text-align:center;"> 731 732 <div style="font-size:40px;margin-bottom:12px;">ð°</div> 733 <h3 class="td-card-title">ÐÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð½Ð° ÑемонÑе</h3> 734 <p class="td-card-text">Раннее вÑÑвление пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð´ÐµÑевле, Ñем замена генеÑаÑоÑа поÑле полного оÑказа.</p> 735 736 737 </div> 738 <div class="td-card td-card-warm" style="text-align:center;"> 739 740 <div style="font-size:40px;margin-bottom:12px;">ð</div> 741 <h3 class="td-card-title">ТоÑÐ½Ð°Ñ Ð¿ÑиÑина</h3> 742 <p class="td-card-text">
742Ðе гадаем â пÑовеÑÑем. ÐÑ Ð·Ð½Ð°ÐµÑе, ÑÑо именно ÑломалоÑÑ Ð¸ ÑколÑко бÑÐ´ÐµÑ ÑÑоиÑÑ ÑемонÑ.</p> 743 744 745 </div> 746 <div class="td-card td-card-warm" style="text-align:center;"> 747 748 <div style="font-size:40px;margin-bottom:12px;">ð¡ï¸</div> 749 <h3 class="td-card-title">ÐезопаÑноÑÑÑ</h3> 750 <p class="td-card-text">ÐÑклÑÑаем ÑиÑк внезапной оÑÑановки двигаÑÐµÐ»Ñ Ð¸Ð·-за ÑазÑÑженного аккÑмÑлÑÑоÑа.</p> 751 752 753 </div> 754 </div> 755</section><section class="td-section td-section-warm"> 756 <div class="td-section-head"> 757 <h2 class="td-title">Ðак пÑÐ¾Ñ Ð¾Ð´Ð¸Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑика генеÑаÑоÑа</h2> 758 </div> 759 <div class="td-grid" style="grid-template-columns:repeat(auto-fit,minmax(220px,1fr));"> 760 <div class="td-card" style="position:relative;padding-top:48px;"> 761 <div class="td-card-number" style="position:absolute;top:16px;left:28px;">1</div> 762 <h3 class="td-card-title" style="margin-top:8px;">ÐизÑалÑнÑй оÑмоÑÑ</h3> 763 <p class="td-card-text">ÐÑовеÑÑем ÑеменÑ, пÑоводкÑ, клеммÑ, налиÑие подÑÑков маÑла или ÐÐ.</p> 764 </div> 765 <div class="td-card" style="position:relative;padding-top:48px;"> 766 <div class="td-card-number" style="position:absolute;top:16px;left:28px;">2</div> 767 <h3 class="td-card-title" style="margin-top:8px;">ÐÑовеÑка на авÑомобиле</h3> 768 <p class="td-card-text">ÐамеÑÑем напÑÑжение на Ñ Ð¾Ð»Ð¾ÑÑом Ñ Ð¾Ð´Ñ Ð¸ под нагÑÑзкой, пÑовеÑÑем ÑÐµÐ¿Ñ Ð·Ð°ÑÑдки.</p> 769 </div> 770 <div class="td-card" style="position:relative;padding-top:48px;"> 771 <div class="td-card-number" style="position:absolute;top:16px;left:28px;">3</div> 772 <h3 class="td-card-title" style="margin-top:8px;">СÑÐµÐ½Ð´Ð¾Ð²Ð°Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑика</h3> 773 <p class="td-card-text">Снимаем генеÑаÑоÑ, подклÑÑаем к ÑÑендÑ. ÐÑовеÑÑем ÑокооÑдаÑÑ, пÑлÑÑаÑии, ÑабоÑÑ ÑегÑлÑÑоÑа.</p> 774 </div> 775 <div class="td-card" style="position:relative;padding-top:48px;"> 776 <div class="td-card-number" style="position:absolute;top:16px;left:28px;">4</div> 777 <h3 class="td-card-title" style="margin-top:8px;">ÐаклÑÑение</h3> 778 <p class="td-card-text">ÐпÑеделÑем ÑоÑнÑÑ Ð¿ÑиÑÐ¸Ð½Ñ Ð½ÐµÐ¸ÑпÑавноÑÑи, назÑваем ÑÑоимоÑÑÑ Ð¸ ÑÑоки ÑемонÑа.</p> 779 </div> 780 </div> 781</section><section class="td-section td-section-light"> 782 <div class="td-section-head"> 783 <h2 class="td-title">СÑоимоÑÑÑ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑики генеÑаÑоÑа</h2> 784 </div> 785 <div class="td-price-table"> 786 <div class="td-price-row"> 787 <span class="td-price-name">ÐиагноÑÑика на авÑомобиле</span> 788 <span class="td-price-value"> 789 Ð¾Ñ 25 BYN </span> 790 </div> 791 <div class="td-price-row"> 792 <span class="td-price-name">ÐиагноÑÑика ÑнÑÑого генеÑаÑоÑа (на ÑÑенде)</span> 793 <span class="td-price-value"> 794 Ð¾Ñ 20 BYN </span> 795 </div> 796 <div class="td-price-row">
797 <span class="td-price-name">â ÐÑи поÑледÑÑÑем ÑемонÑе</span> 798 <span class="td-price-value"> 799 ÐеÑплаÑно </span> 800 </div> 801 </div> 802</section><section class="td-section td-section-light"> 803 <div class="td-section-head"> 804 <h2 class="td-title">ÐоÑÐµÐ¼Ñ Ð²Ð°Ð¶Ð½Ð¾ пÑовеÑÑи диагноÑÑÐ¸ÐºÑ Ñ Ð¿ÑоÑеÑÑионалов</h2> 805 </div> 806 <div class="td-grid"> 807 <div class="td-card td-card-warm" style="text-align:center;"> 808 809 <div style="font-size:40px;margin-bottom:12px;">ð¬</div> 810 <h3 class="td-card-title">Ðе вÑе неиÑпÑавноÑÑи виднÑ</h3> 811 <p class="td-card-text">ÐÑоблема Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð² диодном моÑÑе или ÑегÑлÑÑоÑе. СÑÐµÐ½Ð´Ð¾Ð²Ð°Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑика показÑÐ²Ð°ÐµÑ ÑкÑÑÑÑе деÑекÑÑ.</p> 812 813 814 </div> 815 <div class="td-card td-card-warm" style="text-align:center;"> 816 817 <div style="font-size:40px;margin-bottom:12px;">ð</div> 818 <h3 class="td-card-title">ÐÑовеÑÑем вÑÑ ÑепÑ, а не ÑолÑко генеÑаÑоÑ</h3> 819 <p class="td-card-text">ЧаÑÑо пÑоблема в пÑоводке, ÐºÐ»ÐµÐ¼Ð¼Ð°Ñ , Ñемне или ÐÐÐ. ÐÑовеÑÑем вÑÑ, ÑÑÐ¾Ð±Ñ Ð¿Ñоблема не веÑнÑлаÑÑ.</p> 820 821 822 </div> 823 <div class="td-card td-card-warm" style="text-align:center;"> 824 825 <div style="font-size:40px;margin-bottom:12px;">ð ï¸</div> 826 <h3 class="td-card-title">СпеÑиализиÑованное обоÑÑдование</h3> 827 <p class="td-card-text">СÑÐµÐ½Ð´Ñ Ð¿Ð¾Ð´ нагÑÑзкой, оÑÑиллогÑаÑÑ, мÑлÑÑимеÑÑÑ Ð²ÑÑокой ÑоÑноÑÑи.</p> 828 829 830 </div> 831 <div class="td-card td-card-warm" style="text-align:center;"> 832 833 <div style="font-size:40px;margin-bottom:12px;">â</div> 834 <h3 class="td-card-title">ÐпÑÑ Ñ 1998 года</h3> 835 <p class="td-card-text">ÐенеÑаÑоÑÑ â наÑа пÑоÑилÑÐ½Ð°Ñ ÑпеÑиализаÑиÑ. Ðнаем ÑипиÑнÑе неиÑпÑавноÑÑи Ð´Ð»Ñ ÑазнÑÑ Ð¼Ð°Ñок.</p> 836 837 838 </div> 839 </div> 840</section><section class="td-section td-section-warm" id="faq"> 841 <div class="td-section-head"> 842 <h2 class="td-title">ЧаÑÑÑе вопÑоÑÑ Ð¾ диагноÑÑике генеÑаÑоÑа</h2> 843 </div> 844 <div class="td-faq-list"> 845 <details class="td-faq-item" open> 846 <summary class="td-faq-question">Ðожно пÑÐ¸ÐµÑ Ð°ÑÑ Ð±ÐµÐ· запиÑи?</summary> 847 <div class="td-faq-answer">Ðа, по диагноÑÑике генеÑаÑоÑов ÑаÑе вÑего ÑабоÑаем без пÑедваÑиÑелÑной запиÑи. Ðо ÑложнÑм ÑлÑÑаÑм ÑекомендÑем позвониÑÑ Ð·Ð°Ñанее.</div> 848 </details> 849 <details class="td-faq-item" >
850 <summary class="td-faq-question">ÐиагноÑÑика генеÑаÑоÑа â ÑÑо на авÑомобиле или нÑжно ÑнимаÑÑ?</summary> 851 <div class="td-faq-answer">ÐаÑинаем Ñ Ð¿ÑовеÑки на авÑомобиле. ÐÑли нÑжно â Ñнимаем и пÑоводим ÑÑендовÑÑ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑикÑ. Ðожно пÑивезÑи Ñже ÑнÑÑÑй генеÑаÑÐ¾Ñ â вÑполним пÑовеÑÐºÑ Ð½Ð° ÑÑенде.</div> 852 </details> 853 <details class="td-faq-item" > 854 <summary class="td-faq-question">СколÑко вÑемени Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑика?</summary> 855 <div class="td-faq-answer">РболÑÑинÑÑве ÑлÑÑаев 20â30 минÑÑ. СложнÑе ÑлÑÑаи Ñ ÑазбоÑкой могÑÑ Ð·Ð°Ð½ÑÑÑ Ð´Ð¾ ÑаÑа.</div> 856 </details> 857 <details class="td-faq-item" > 858 <summary class="td-faq-question">ÐиагноÑÑика плаÑнаÑ, еÑли ÑÐµÐ¼Ð¾Ð½Ñ Ð½Ðµ нÑжен?</summary> 859 <div class="td-faq-answer">Ðа, диагноÑÑика оплаÑиваеÑÑÑ Ð¾ÑделÑно, еÑли Ð²Ñ ÑеÑили не ÑемонÑиÑоваÑÑÑÑ. ÐÑи поÑледÑÑÑем ÑемонÑе ÑÑоимоÑÑÑ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑики не взимаеÑÑÑ.</div> 860 </details> 861 <details class="td-faq-item" > 862 <summary class="td-faq-question">ÐиагноÑÑиÑÑеÑе ли генеÑаÑоÑÑ Ð¼Ð¸ÐºÑоавÑобÑÑов и гÑÑзовÑÑ ?</summary> 863 <div class="td-faq-answer">Ðа, Ð´Ð»Ñ Ð³ÑÑзовÑÑ Ð¸ микÑоавÑобÑÑов оÑделÑнÑй ÑÐµÑ Ð½Ð° пеÑ. СолÑÑÑа, 5. ÐоÑнÑе генеÑаÑоÑÑ Ñ Ð²ÑÑокой ÑокооÑдаÑей ÑÑебÑÑÑ Ð¾Ñобого Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð° â Ñ Ð½Ð°Ñ ÐµÑÑÑ Ð¾Ð¿ÑÑ Ð¸ обоÑÑдование.</div> 864 </details> 865 <details class="td-faq-item" > 866 <summary class="td-faq-question">ЧÑо делаÑÑ, еÑли генеÑаÑÐ¾Ñ Ð½Ðµ заÑÑжаеÑ, но лампа не гоÑиÑ?</summary> 867 <div class="td-faq-answer">Такое возможно пÑи неиÑпÑавноÑÑи диодного моÑÑа или пÑÐ¾Ð±Ð»ÐµÐ¼Ð°Ñ Ð² Ñепи ÑпÑавлениÑ. ÐÑжна диагноÑÑика â ÑаÑÑо неиÑпÑавноÑÑÑ Ð½Ðµ оÑевидна без измеÑиÑелÑнÑÑ Ð¿ÑибоÑов.</div> 868 </details> 869 </div> 870</section> 871</main> 872 873<section class="td-section td-section-warm td-form-section" id="callback-form"> 874 <div class="td-section-head" style="margin-bottom:20px;"> 875 <h2 class="td-title" style="font-size:20px;">ÐÑÑавиÑÑ Ð·Ð°ÑвкÑ</h2> 876 <p class="td-subtitle" style="font-size:13px;">ÐеÑезвоним в ÑеÑение 15 минÑÑ</p> 877 </div> 878 879 <form class="td-form-compact" method="post" action="/api/form-submit" data-ajax="1"> 880 <input type="hidden" name="page_url" value="/remont-generatorov/diagnostika/"> 881 882 <!-- ÐнÑиÑпам: подпиÑаннÑй Ñокен вÑемени загÑÑзки ÑоÑмÑ. Человек заполнÑÐµÑ ÑоÑÐ¼Ñ Ð´Ð¾Ð»ÑÑе 4 ÑекÑнд, Ð±Ð¾Ñ - мгновенно. --> 883 <input type="hidden" name="form_ts" value="1791476486.be40a3754d338877"> 884 <!-- Honeypot: Ñеловек поле не видиÑ, боÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÑÑÑ. Ðаполнил = боÑ. --> 885 <input type="text" name="website" value="" tabindex="-1" autocomplete="off" 886 aria-hidden="true" style="position:absolute;left:-10000px;top:-10000px;width:1px;height:1px;opacity:0;"> 887 888 <div class="td-form-grid"> 889 <div class="td-form-field"> 890 <input type="text" 891 name="name" 892 placeholder="Ðван" 893 required> 894 </div> 895 <div class="td-form-field"> 896 <input type="tel" 897 name="phone" 898 placeholder="+375 (29) 000-00-00" 899 required> 900 </div> 901 <div class="td-form-field"> 902 <select name="service" aria-label="УÑлÑга" > 903 <option value="">УÑлÑга</option> 904 <option value="Ð ÐµÐ¼Ð¾Ð½Ñ ÑÑаÑÑеÑа">Ð ÐµÐ¼Ð¾Ð½Ñ ÑÑаÑÑеÑа</option> 905 <option value="Ð ÐµÐ¼Ð¾Ð½Ñ Ð³ÐµÐ½ÐµÑаÑоÑа">Ð ÐµÐ¼Ð¾Ð½Ñ Ð³ÐµÐ½ÐµÑаÑоÑа</option> 906 <option value="ÐиагноÑÑика">ÐиагноÑÑика</option> 907 <option value="ÐокÑпка запÑаÑÑей">ÐокÑпка запÑаÑÑей</option> 908 </select> 909 </div> 910 <div class="td-form-field td-form-full"> 911 <textarea name="comment" placeholder="ÐпиÑиÑе пÑоблемÑ" rows="2"></textarea> 912 </div> 913 914 <div class="td-form-field"> 915 <select name="recipient_service" aria-label="УÑлÑга"> 916 <option value="1">ð Ðегковой ÑеÑвиÑ</option> 917 <option value="2">ð ÐÑÑзовой авÑоÑеÑвиÑ</option> 918 </select> 919 </div> 920 </div> 921 922 <button type="submit" class="td-btn td-btn-submit">ÐÑпÑавиÑÑ Ð·Ð°ÑвкÑ</button> 923 924 <p class="td-form-agree">ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð¾Ð±ÑабоÑкой пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </p> 925 </form> 926</section> 927 928<!-- 929 ÐÐÐÐÐ: inline-ÑкÑÐ¸Ð¿Ñ Ð¾ÑпÑавки здеÑÑ ÐРнÑжен. 930 AJAX-обÑабоÑÑик ÑоÑÐ¼Ñ Ñже подклÑÑаеÑÑÑ ÐÐÐÐ Ñаз в assets/js/main.js (ÑекÑÐ¸Ñ 9). 931 РанÑÑе ÑкÑÐ¸Ð¿Ñ Ð´ÑблиÑовалÑÑ Ð·Ð´ÐµÑÑ: на Ð¾Ð´Ð½Ñ ÑоÑÐ¼Ñ Ð²ÐµÑалоÑÑ ÐÐРобÑабоÑÑика submit 932 (main.js + ÑÑÐ¾Ñ inline), и заÑвка ÑÑ Ð¾Ð´Ð¸Ð»Ð° Ð´Ð²Ð°Ð¶Ð´Ñ â оÑÑÑда дÑбли в Telegram. 933--> 934 935 936<div class="td-social-bar"> 937 <p class="td-social-title">ÐÑ Ð² ÑоÑÑеÑÑÑ </p> 938 <div class="td-social-list"> 939 <a href="https://www.tiktok.com/@tehnodelta" target="_blank" class="td-social-link" title="ÐÑ Ð² ТикÑок">
940 <span class="td-social-icon"><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/></svg></span> 941 <span class="td-social-label">ÐÑ Ð² ТикÑок</span> 942 </a> 943 <a href="https://www.instagram.com/autoserviceminsk/" target="_blank" class="td-social-link" title="ÐÑ Ð² инÑÑагÑам"> 944 <span class="td-social-icon"><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077"/></svg></span> 945 <span class="td-social-label">ÐÑ Ð² инÑÑагÑам</span> 946 </a> 947 <a href="https://www.youtube.com/@%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%D1%82%D0%B0" target="_blank" class="td-social-link" title="ÐÑ Ð² ЮÑÑб"> 948 <span class="td-social-icon"><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg></span> 949 <span class="td-social-label">ÐÑ Ð² ЮÑÑб</span> 950 </a> 951 </div> 952</div> 953<footer class="td-footer"> 954 <div class="td-footer-inner"> 955 <div class="td-footer-col"> 956 <strong>Ð¢ÐµÑ Ð½Ð¾Ð´ÐµÐ»ÑÑа</strong> 957 <p style="color:#bbb;font-size:13px;margin-top:6px;">Ð ÐµÐ¼Ð¾Ð½Ñ ÑÑаÑÑеÑов и генеÑаÑоÑов</p> 958 </div> 959 <div class="td-footer-col"> 960 <p style="color:#bbb;font-size:13px;line-height:1.6;">ÐинÑк, Ñл. ÐаÑпÑаÑова, 22<br /> 961ÐнâÐÑ 9:00â20:00<br /> 962Сб-Ð²Ñ 9:00-18:00</p> 963 </div> 964 <div class="td-footer-col"> 965 <p style="color:#888;font-size:12px;">© 2026 Ð¢ÐµÑ Ð½Ð¾Ð´ÐµÐ»ÑÑа</p> 966 </div> 967 </div> 968</footer> 969 970<div class="td-bottom-bar"> 971 <a href="tel:+375291128484" class="td-bottom-btn td-bottom-call">
972 <span class="td-bottom-icon">ð</span> 973 <span>ÐозвониÑÑ</span> 974 </a> 975 976 <a href="viber://chat?number=%2B375291128484" class="td-bottom-btn td-bottom-msg" target="_blank"> 977 <span class="td-bottom-icon"><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M11.4 0C9.473.028 5.333.344 3.02 2.467 1.302 4.187.696 6.7.633 9.817.57 12.933.488 18.776 6.12 20.36h.003l-.004 2.416s-.037.977.61 1.177c.777.242 1.234-.5 1.98-1.302.407-.44.972-1.084 1.397-1.58 3.85.326 6.812-.416 7.15-.525.776-.252 5.176-.816 5.892-6.657.74-6.02-.36-9.83-2.34-11.546-.596-.55-3.006-2.3-8.375-2.323 0 0-.395-.025-1.037-.017zm.058 1.693c.545-.004.88.017.88.017 4.542.02 6.717 1.388 7.222 1.846 1.675 1.435 2.53 4.868 1.906 9.897v.002c-.604 4.878-4.174 5.184-4.832 5.395-.28.09-2.882.737-6.153.524 0 0-2.436 2.94-3.197 3.704-.12.12-.26.167-.352.144-.13-.033-.166-.188-.165-.414l.02-4.018c-4.762-1.32-4.485-6.292-4.43-8.895.054-2.604.543-4.738 1.996-6.173 1.96-1.773 5.474-2.018 7.11-2.03zm.38 2.602c-.167 0-.303.135-.304.302 0 .167.133.303.3.305 1.624.01 2.946.537 4.028 1.592 1.073 1.046 1.62 2.468 1.633 4.334.002.167.14.3.307.3.166-.002.3-.138.3-.304-.014-1.984-.618-3.596-1.816-4.764-1.19-1.16-2.692-1.753-4.447-1.765zm-3.96.695c-.19-.032-.4.005-.616.117l-.01.002c-.43.247-.816.562-1.146.932-.002.004-.006.004-.008.008-.267.323-.42.638-.46.948-.008.046-.01.093-.007.14 0 .136.022.27.065.4l.013.01c.135.48.473 1.276 1.205 2.604.42.768.903 1.5 1.446 2.186.27.344.56.673.87.984l.132.132c.31.308.64.6.984.87.686.543 1.418 1.027 2.186 1.447 1.328.733 2.126 1.07 2.604 1.206l.01.014c.13.042.265.064.402.063.046.002.092 0 .138-.008.31-.036.627-.19.948-.46.004 0 .003-.002.008-.005.37-.33.683-.72.93-1.148l.003-.01c.225-.432.15-.842-.18-1.12-.004 0-.698-.58-1.037-.83-.36-.255-.73-.492-1.113-.71-.51-.285-1.032-.106-1.248.174l-.447.564c-.23.283-.657.246-.657.246-3.12-.796-3.955-3.955-3.955-3.955s-.037-.426.248-.656l.563-.448c.277-.215.456-.737.17-1.248-.217-.383-.454-.756-.71-1.115-.25-.34-.826-1.033-.83-1.035-.137-.165-.31-.265-.502-.297zm4.49.88c-.158.002-.29.124-.3.282-.01.167.115.312.282.324 1.16.085 2.017.466 2.645 1.15.63.688.93 1.524.906 2.57-.002.168.13.306.3.31.166.003.305-.13.31-.297.025-1.175-.334-2.193-1.067-2.994-.74-.81-1.777-1.253-3.05-1.346h-.024zm.463 1.63c-.16.002-.29.127-.3.287-.008.167.12.31.288.32.523.028.875.175 1.113.422.24.245.388.62.416 1.164.01.167.15.295.318.287.167-.008.295-.15.287-.317-.03-.644-.215-1.178-.58-1.557-.367-.378-.893-.574-1.52-.607h-.018z"/></svg></span> 978 <span>ÐайбеÑ</span> 979 </a> 980 981 <a href="#callback-form" class="td-bottom-btn td-bottom-action"> 982 <span class="td-bottom-icon">ð</span> 983 <span>ÐаÑвка</span> 984 </a> 985</div> 986 987<!-- ===== ÐÐТÐ-ТÐÐÐ ÐÐЯ ÐÐТРÐÐÐ (BODY) ===== --> 988
989<script src="/assets/js/main.js?v=1789493060"></script>
989 990<style> 991.booking-float{position:fixed;right:18px;bottom:18px;z-index:9980;display:inline-flex;align-items:center;gap:9px;padding:13px 20px;border-radius:999px;background:linear-gradient(135deg,var(--ap-primary,#2563eb) 0%,#3b82f6 60%,var(--ap-cyan,#06b6d4) 140%);color:#fff;font-weight:700;font-size:15px;line-height:1;text-decoration:none;box-shadow:0 6px 20px rgba(37,99,235,.35);transition:transform .18s ease,box-shadow .18s ease;animation:bfPulse 3.2s ease-in-out infinite;} 992.booking-float:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(37,99,235,.45);color:#fff;} 993.booking-float svg{flex:none;} 994@keyframes bfPulse{0%,100%{box-shadow:0 6px 20px rgba(37,99,235,.35)}50%{box-shadow:0 6px 20px rgba(37,99,235,.35),0 0 0 10px rgba(37,99,235,.08)}} 995@media (max-width:768px){.booking-float{right:14px;bottom:calc(14px + env(safe-area-inset-bottom, 0px));padding:12px 16px;font-size:14px;}} 996@media (prefers-reduced-motion:reduce){.booking-float{animation:none;transition:none;}} 997@media print{.booking-float{display:none!important;}} 998</style> 999<a class="booking-float" href="/zapis/" aria-label="Ðнлайн-запиÑÑ"> 1000 <svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="16" rx="3"/><path d="M8 3v4M16 3v4M3 10h18M9.5 15.5l2 2 3.5-3.5"/></svg> 1001 <span>Ðнлайн-запиÑÑ</span> 1002</a> 1003<div id="tdChat" class="td-chat" data-online="1"> 1004 <style> 1005 /* ===== Ðнлайн-ÑаÑ: ÑÑили (инлайн â внеÑÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов неÑ) ===== */ 1006 .td-chat *{box-sizing:border-box;margin:0;padding:0;font-family:inherit} 1007 .td-chat-btn{position:fixed;right:18px;bottom:18px;z-index:9970;width:56px;height:56px;border-radius:50%; 1008 border:none;cursor:pointer;background:var(--color-primary,#ec7404);color:#fff; 1009 display:flex;align-items:center;justify-content:center; 1010 box-shadow:0 6px 20px rgba(0,0,0,.25);transition:transform .18s ease,box-shadow .18s ease} 1011 .td-chat-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.3)} 1012 .td-chat-btn svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round} 1013 .td-chat-btn .td-chat-ico-x{display:none} 1014 .td-chat.open .td-chat-btn .td-chat-ico-x{display:block} 1015 .td-chat.open .td-chat-btn .td-chat-ico-chat{display:none} 1016 .td-chat-dot{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px; 1017 background:#e53935;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;display:none} 1018 .td-chat-dot.show{display:block} 1019 .td-chat-panel{position:fixed;right:18px;bottom:86px;z-index:9990;width:min(360px,calc(100vw - 24px)); 1020 max-height:min(560px,calc(100vh - 120px));display:none;flex-direction:column;overflow:hidden; 1021 background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.28);border:1px solid rgba(0,0,0,.06)} 1022 .td-chat.open .td-chat-panel{display:flex;animation:tdChatIn .18s ease} 1023 @keyframes tdChatIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}} 1024 .td-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px; 1025 background:var(--color-dark,#011846);color:#fff;flex:none} 1026 .td-chat-head-txt strong{display:block;font-size:15px;line-height:1.2} 1027 .td-chat-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.75);margin-top:2px} 1028 .td-chat-status i{width:8px;height:8px;border-radius:50%;background:#9aa3ad;flex:none} 1029 .td-chat[data-online="1"] .td-chat-status i{background:#43d477} 1030 .td-chat-close{background:none;border:none;color:rgba(255,255,255,.8);cursor:pointer;padding:6px;border-radius:8px;display:flex;flex:none} 1031 .td-chat-close:hover{background:rgba(255,255,255,.12);color:#fff} 1032 .td-chat-close svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none} 1033 .td-chat-msgs{flex:1 1 auto;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:8px;background:#faf8f5;-webkit-overflow-scrolling:touch} 1034 .td-chat-msg{max-width:82%;padding:9px 12px;border-radius:12px;font-size:14px;line-height:1.45;word-wrap:break-word;white-space:pre-wrap} 1035 .td-chat-msg .td-chat-t{display:block;font-size:10.5px;opacity:.6;margin-top:3px} 1036 .td-chat-msg.client{align-self:flex-end;background:var(--color-primary,#ec7404);color:#fff;border-bottom-right-radius:4px} 1037 .td-chat-msg.admin{align-self:flex-start;background:#fff;
1037color:#1a1a1a;border:1px solid #e8e4df;border-bottom-left-radius:4px} 1038 .td-chat-msg.system{align-self:center;background:none;color:#8a8f98;font-size:12px;max-width:95%;text-align:center;padding:2px 8px} 1039 .td-chat-contacts{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 12px;background:#fff;border-top:1px solid #efece7;flex:none} 1040 .td-chat-contacts input{width:100%;padding:8px 10px;border:1px solid #ddd8d2;border-radius:8px;font-size:13px;outline:none;background:#faf8f5} 1041 .td-chat-contacts input:focus{border-color:var(--color-primary,#ec7404);background:#fff} 1042 .td-chat-inputrow{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;background:#fff;flex:none} 1043 .td-chat-inputrow textarea{flex:1 1 auto;resize:none;border:1px solid #ddd8d2;border-radius:10px;padding:9px 12px; 1044 font-size:14px;line-height:1.4;max-height:96px;outline:none;background:#faf8f5} 1045 .td-chat-inputrow textarea:focus{border-color:var(--color-primary,#ec7404);background:#fff} 1046 .td-chat-send{flex:none;width:40px;height:40px;border-radius:10px;border:none;cursor:pointer; 1047 background:var(--color-primary,#ec7404);color:#fff;display:flex;align-items:center;justify-content:center} 1048 .td-chat-send:hover{filter:brightness(.92)} 1049 .td-chat-send svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round} 1050 .td-chat-privacy{flex:none;padding:0 12px 8px;font-size:10.5px;color:#a8a29a;background:#fff;text-align:center} 1051 @media (max-width:768px){ 1052 .td-chat-btn{right:12px;width:52px;height:52px} 1053 .td-chat-panel{right:8px;left:8px;width:auto;max-height:min(480px,72vh)} 1054 } 1055 /* v1.4.5: еÑли на ÑÑÑаниÑе еÑÑÑ Ð¿Ð»Ð°Ð²Ð°ÑÑÐ°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ° онлайн-запиÑи â 1056 ÑÐ°Ñ Ð¡Ð ÐÐУ Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ Ð¼ÐµÑÑо ÐÐРней (без Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ JS; ÑоÑнÑÑ 1057 позиÑÐ¸Ñ Ð´Ð¾ миллимеÑÑа поÑом ÑÑÐ°Ð²Ð¸Ñ place() инлайн-ÑÑилем). 1058 @supports selector(:has()) â пÑавило дейÑÑвÑÐµÑ ÑолÑко Ñам, 1059 где бÑаÑÐ·ÐµÑ Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÐµÑ :has(); оÑÑалÑнÑм Ñ Ð²Ð°ÑÐ°ÐµÑ place(). */ 1060 @supports selector(body:has(*)){ 1061 body:has(.booking-float) .td-chat-btn{bottom:82px} 1062 body:has(.booking-float) .td-chat-panel{bottom:150px} 1063 } 1064 @media (prefers-reduced-motion:reduce){.td-chat.open .td-chat-panel{animation:none}.td-chat-btn{transition:none}} 1065 </style> 1066 1067 <button class="td-chat-btn" id="tdChatBtn" type="button" aria-label="ÐÑкÑÑÑÑ ÑаÑ" aria-expanded="false"> 1068 <svg class="td-chat-ico-chat" viewBox="0 0 24 24" aria-hidden="true"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/></svg> 1069 <svg class="td-chat-ico-x" viewBox="0 0 24 24" aria-hidden="true"><path d="M18 6 6 18M6 6l12 12"/></svg> 1070 <span class="td-chat-dot" id="tdChatDot"></span> 1071 </button> 1072 1073 <section class="td-chat-panel" id="tdChatPanel" role="dialog" aria-label="Ð§Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки" hidden> 1074 <header class="td-chat-head"> 1075 <div class="td-chat-head-txt"> 1076 <strong>Ð¢ÐµÑ Ð½Ð¾Ð´ÐµÐ»ÑÑа</strong> 1077 <span class="td-chat-status"><i></i>ÐÑ Ð¾Ð½Ð»Ð°Ð¹Ð½</span> 1078 </div> 1079 <button class="td-chat-close" id="tdChatClose" type="button" aria-label="СвеÑнÑÑÑ ÑаÑ"> 1080 <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18 6 6 18M6 6l12 12"/></svg> 1081 </button> 1082 </header> 1083 <div class="td-chat-msgs" id="tdChatMsgs" aria-live="polite"></div> 1084 <div class="td-chat-contacts"> 1085 <input type="text" id="tdChatName" maxlength="60" placeholder="ÐаÑе имÑ" autocomplete="name"> 1086 <input type="tel" id="tdChatPhone" maxlength="30" placeholder="ТелеÑон Ð´Ð»Ñ Ð¾ÑвеÑа" autocomplete="tel"> 1087 </div> 1088 <form class="td-chat-inputrow" id="tdChatForm"> 1089 <textarea id="tdChatText" rows="1" maxlength="1000" placeholder="ÐапиÑиÑе ÑообÑениеâ¦" aria-label="ТекÑÑ ÑообÑениÑ"></textarea> 1090 <button class="td-chat-send" type="submit" aria-label="ÐÑпÑавиÑÑ ÑообÑение"> 1091 <svg viewBox="0 0 24 24" aria-hidden="true"><path d="m22 2-7 20-4-9-9-4z"/><path d="M22 2 11 13"/></svg> 1092 </button> 1093 </form> 1094 <p class="td-chat-privacy">ÐÑвеÑаем в ÑаÑе в ÑабоÑее вÑемÑ. СообÑÐµÐ½Ð¸Ñ ÑÐ¾Ñ ÑанÑÑÑÑÑ, ÑÑÐ¾Ð±Ñ Ð¼Ñ Ð½Ðµ поÑеÑÑли Ð²Ð°Ñ Ð²Ð¾Ð¿ÑоÑ.</p> 1095 </section> 1096 1097
1097<script> 1098 // v1.4.4: конÑиг Ð´Ð»Ñ JS виджеÑа â пÑивеÑÑÑвие из «ÐаÑÑÑоек» и Ñокен 1099 // анÑиÑпама. РанÑÑе window.tdChatCfg никÑо не заполнÑл: наÑÑÑоенное 1100 // пÑивеÑÑÑвие не показÑвалоÑÑ, а Ñокен ÑÑ Ð¾Ð´Ð¸Ð» пÑÑÑÑм. 1101 window.tdChatCfg = {"greeting":"ÐдÑавÑÑвÑйÑе! ÐпиÑиÑе Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ â оÑвеÑим здеÑÑ Ð¶Ðµ.","ts":"1791476486.be40a3754d338877"}; 1102 </script>
1102 1103 1104
1104<script> 1105 (function () { 1106 'use strict'; 1107 var cfg = window.tdChatCfg || {}; 1108 var d = document; 1109 var root = d.getElementById('tdChat'); 1110 if (!root) return; 1111 var btn = d.getElementById('tdChatBtn'), 1112 panel = d.getElementById('tdChatPanel'), 1113 msgs = d.getElementById('tdChatMsgs'), 1114 dot = d.getElementById('tdChatDot'), 1115 form = d.getElementById('tdChatForm'), 1116 input = d.getElementById('tdChatText'), 1117 nameI = d.getElementById('tdChatName'), 1118 phoneI = d.getElementById('tdChatPhone'), 1119 closeBtn = d.getElementById('tdChatClose'); 1120 1121 // --- uid диалога: ÑлÑÑайнÑй 32-ÑимволÑнÑй клÑÑ Ð² localStorage. 1122 // Ðн же â доÑÑÑп к ÑÐ²Ð¾ÐµÐ¼Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ñ Ð½Ð° ÑеÑвеÑе (ÑгадаÑÑ Ð½ÐµÐ»ÑзÑ). 1123 function makeUid() { 1124 var hex = '0123456789abcdef', s = ''; 1125 try { 1126 var a = new Uint8Array(16); 1127 (window.crypto || window.msCrypto).getRandomValues(a); 1128 for (var i = 0; i < a.length; i++) s += hex[a[i] >> 4] + hex[a[i] & 15]; 1129 } catch (e) { 1130 for (var j = 0; j < 32; j++) s += hex[Math.floor(Math.random() * 16)]; 1131 } 1132 return s; 1133 } 1134 function store(k, v) { try { localStorage.setItem(k, v); } catch (e) {} } 1135 function load(k) { try { return localStorage.getItem(k); } catch (e) { return null; } } 1136 1137 var uid = load('tdChatUid'); 1138 if (!uid || !/^[a-f0-9]{32}$/.test(uid)) { uid = makeUid(); store('tdChatUid', uid); } 1139 // v1.4.1: иÑÑоÑÐ¸Ñ ÐРдеÑжиÑÑÑ Ð² localStorage â она вÑÑ Ð½Ð° ÑеÑвеÑе 1140 // и подÑÑгиваеÑÑÑ Ð¿Ñи загÑÑзке ÑÑÑаниÑÑ (boot-опÑÐ¾Ñ after=0). 1141 // seenId â поÑледний оÑÐ²ÐµÑ Ð¾Ð¿ÐµÑаÑоÑа, коÑоÑÑй ÐºÐ»Ð¸ÐµÐ½Ñ Ñже видел 1142 // (оÑкÑÑвал ÑаÑ): по Ð½ÐµÐ¼Ñ ÑÑиÑаеÑÑÑ Ð±ÐµÐ¹Ð´Ð¶ непÑоÑиÑаннÑÑ Ð¿Ð¾Ñле 1143 // пеÑезагÑÑзки ÑÑÑаниÑÑ. 1144 var lastId = 0; 1145 var seenId = parseInt(load('tdChatSeen'), 10) || 0; 1146 var unread = 0; 1147 var isOpen = false; 1148 var booted = false; // пеÑвиÑÐ½Ð°Ñ Ð¿Ð¾Ð´Ð³ÑÑзка иÑÑоÑии завеÑÑена 1149 var greetPending = false; // ÑÐ°Ñ Ð¾ÑкÑÑÑ, пÑивеÑÑÑвие ждÑÑ boot 1150 var pollTimer = null, pollDelayOpen = 5000, pollDelayClosed = 20000, pollDelayError = 15000; 1151 var pending = []; // Ñвои неоÑпÑавленнÑе ÑекÑÑÑ (Ð´Ð»Ñ ÑвеÑки пÑи опÑоÑе) 1152 1153 function markSeen() { 1154 // «Ðидел» = ÑÐ°Ñ Ð¾ÑкÑÑÑ Ð½Ð° ÑкÑане. Ðока закÑÑÑ â непÑоÑиÑанное 1155 // оÑÑаÑÑÑÑ Ð½ÐµÐ¿ÑоÑиÑаннÑм (бейдж пеÑеживÑÑ Ð¿ÐµÑезагÑÑзкÑ). 1156 if (isOpen && lastId > seenId) { seenId = lastId; store('tdChatSeen', String(seenId)); } 1157 } 1158 function ensureGreeting() { 1159 if (msgs.children.length) return; // иÑÑоÑÐ¸Ñ Ñже еÑÑÑ â пÑивеÑÑÑвие не нÑжно 1160 sysLine('Ð§Ð°Ñ Ð¾ÑкÑÑÑ'); 1161 bubble('admin', cfg.greeting || 'ÐдÑавÑÑвÑйÑе! ÐапиÑиÑе Ð²Ð°Ñ Ð²Ð¾Ð¿ÑÐ¾Ñ â оÑвеÑим здеÑÑ Ð¶Ðµ.', ''); 1162 sysLine('ÐÑÑавÑÑе Ð¸Ð¼Ñ Ð¸ ÑелеÑон ниже â Ñак Ð¼Ñ Ñможем оÑвеÑиÑÑ, даже еÑли Ð²Ñ Ð·Ð°ÐºÑоеÑе ÑÑÑаниÑÑ.'); 1163 } 1164 1165 // --- ÑÑилиÑÑ DOM (ÑолÑко textContent â XSS иÑклÑÑÑн) --- 1166 function bubble(sender, text, time, cls) { 1167 var el = d.createElement('div'); 1168 el.className = 'td-chat-msg ' + (cls || sender); 1169 el.textContent = text; 1170 if (time) { 1171 var t = d.createElement('span'); 1172 t.className = 'td-chat-t'; 1173 t.textContent = time; 1174 el.appendChild(t); 1175 } 1176 msgs.appendChild(el); 1177 return el; 1178 } 1179 function sysLine(text) { bubble('system', text, ''); } 1180 function scrollDown() { msgs.scrollTop = msgs.scrollHeight; } 1181 function setUnread(n) { 1182 unread = n; 1183 if (n > 0) { dot.textContent = n > 9 ? '9+' : String(n); dot.classList.add('show'); } 1184 else { dot.classList.remove('show'); } 1185 } 1186 1187 // --- позиÑиÑ: не наезжаем на ÐºÐ½Ð¾Ð¿ÐºÑ Â«ÐапиÑÑ» и мобилÑнÑÑ Ð½Ð¸Ð¶Ð½ÑÑ Ð¿Ð°Ð½ÐµÐ»Ñ. 1188 // ÐÐÐÐÐ: Ñ position:fixed ÑлеменÑов offsetParent вÑегда null â 1189 // видимоÑÑÑ Ð¿ÑовеÑÑем ÑеÑез offsetHeight (0 = ÑкÑÑÑ display:none). 1190 function vis(el) { return !!(el && el.offsetHeight > 0); } 1191 function place() { 1192 var b = 18; 1193 var bf = d.querySelector('.booking-float'); 1194 if (vis(bf)) { 1195 b = Math.max(b, Math.round(window.innerHeight - bf.getBoundingClientRect().top) + 12); 1196 } else { 1197 var bar = d.querySelector('.td-bottom-bar'); 1198 if (vis(bar)) b = bar.offsetHeight + 12; 1199 } 1200 btn.style.bottom = b + 'px'; 1201 panel.style.bottom = (b + 68) + 'px'; 1202 } 1203 1204 // ===== v1.4.4: KEEP-ALIVE â звÑк пÑи вÑклÑÑенном ÑкÑане ===== 1205 // Chrome «замоÑаживаеÑ» ÑÑÑаниÑÑ Ð±ÐµÐ· акÑивного звÑка: опÑÐ¾Ñ 1206 // замиÑаеÑ, и новÑй оÑÐ²ÐµÑ Ð½Ð¸ÐºÑо не ÑÑлÑÑиÑ. ÐеÑжим невидимÑÑ 1207 // звÑковÑÑ Ð¿ÐµÑÐ»Ñ â ÑинÑÑ 30 ÐÑ: ÑелеÑоннÑй динамик ÑакÑÑ ÑаÑÑоÑÑ 1208 // ÑизиÑеÑки не воÑпÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ (Ð¿Ð¾Ð»Ð½Ð°Ñ ÑиÑина), но Ð´Ð»Ñ Ð±ÑаÑзеÑа 1209 // ÑÑÑаниÑа «игÑÐ°ÐµÑ Ð·Ð²Ñк» â не замеÑзаеÑ, опÑÐ¾Ñ Ð¶Ð¸Ð²ÑÑ, и Ñигнал 1210 // о новом ÑообÑении ÑÑабаÑÑваеÑ, даже когда ÑкÑан погаÑен. 1211 // Ð ÑÑоÑке поÑвиÑÑÑ ÐºÐ°ÑÑоÑка плееÑа «звÑк вклÑÑÑн» â ÑÑо ноÑма; 1212 // паÑза на ÑÑой каÑÑоÑке вÑклÑÑÐ¸Ñ Ð¸ звÑк Ñведомлений. 1213 var KA = (function () { 1214 var el = null, url = null, want = false;
1215 function src() { 1216 var sr = 8000, n = sr * 10; 1217 var buf = new ArrayBuffer(44 + n * 2), v = new DataView(buf); 1218 function w(o, s) { for (var i = 0; i < s.length; i++) v.setUint8(o + i, s.charCodeAt(i)); } 1219 w(0, 'RIFF'); v.setUint32(4, 36 + n * 2, true); w(8, 'WAVEfmt '); 1220 v.setUint32(16, 16, true); v.setUint16(20, 1, true); v.setUint16(22, 1, true); 1221 v.setUint32(24, sr, true); v.setUint32(28, sr * 2, true); 1222 v.setUint16(32, 2, true); v.setUint16(34, 16, true); 1223 w(36, 'data'); v.setUint32(40, n * 2, true); 1224 for (var i = 0; i < n; i++) { 1225 v.setInt16(44 + i * 2, Math.round(15000 * Math.sin(2 * Math.PI * 30 * i / sr)), true); 1226 } 1227 url = URL.createObjectURL(new Blob([buf], { type: 'audio/wav' })); 1228 return url; 1229 } 1230 function alive() { return !!(el && !el.paused && !el.ended); } 1231 function start() { 1232 want = true; 1233 if (alive()) return; 1234 try { 1235 if (!el) { el = new Audio(url || src()); el.loop = true; el.volume = 0.35; } 1236 var p = el.play(); 1237 if (p && p.then) p.then(function () {}, function () {}); 1238 try { 1239 if ('mediaSession' in navigator && navigator.mediaSession && !navigator.mediaSession.metadata) { 1240 navigator.mediaSession.metadata = new window.MediaMetadata({ 1241 title: 'Ð§Ð°Ñ â звÑк оÑвеÑа вклÑÑÑн', artist: document.title || '' 1242 }); 1243 } 1244 } catch (e2) {} 1245 } catch (e) {} 1246 } 1247 document.addEventListener('visibilitychange', function () { 1248 if (document.visibilityState === 'visible' && want) setTimeout(start, 300); 1249 }); 1250 return { 1251 start: start, 1252 alive: alive, 1253 check: function () { if (want) start(); } // добоÑ: лÑп мог не ÑÑаÑÑоваÑÑ Ð±ÐµÐ· жеÑÑа 1254 }; 1255 })(); 1256 1257 // --- звÑк нового ÑообÑÐµÐ½Ð¸Ñ (v1.4.1: и пÑи оÑкÑÑÑом ÑаÑе Ñоже â 1258 // ÐºÐ»Ð¸ÐµÐ½Ñ ÑлÑÑÐ¸Ñ Ð¾ÑвеÑ, даже еÑли ÑиÑÐ°ÐµÑ Ð´ÑÑгое) --- 1259 // v1.4.3: замеÑно гÑомÑе и вÑÑе Ñоном (1.2/1.
12596 кÐÑ) â ÑелеÑоннÑе 1260 // динамики Ð¿Ð»Ð¾Ñ Ð¾ оÑÑгÑÑваÑÑ ÑÐ¸Ñ Ð¸Ð¹ низкий бип; AudioContext 1261 // ÑазблокиÑÑеÑÑÑ Ð¿ÐµÑвÑм каÑанием (мобилÑнÑе бÑаÑзеÑÑ ÑÑебÑÑÑ 1262 // жеÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, инаÑе конÑекÑÑ Â«Ð²Ð¸ÑиÑ» suspended и молÑиÑ). 1263 // v1.4.4: пÑи ÑвÑÑнÑÑой/погаÑенной ÑÑÑаниÑе Ñигнал игÑаеÑÑÑ Ñем же 1264 // WAV-Ñайлом ÑеÑез <audio>: Ñоновое воÑпÑоизведение аÑдио-ÑлеменÑа 1265 // (как Ñ Ð¸Ð½ÑеÑнеÑ-Ñадио) надÑжнее WebAudio, коÑоÑÑй в Ñоне Ð¼Ð¾Ð¶ÐµÑ 1266 // молÑаÑÑ Ð´Ð°Ð¶Ðµ на живой ÑÑÑаниÑе. 1267 var audioCtx = null; 1268 // Ð¢Ð¾Ñ Ð¶Ðµ Ñигнал (1175â1568 ÐÑ) в виде WAV â Ð´Ð»Ñ Ñона/вÑклÑÑенного ÑкÑана 1269 var chimeEl = null; 1270 function chime() { 1271 try { 1272 if (!chimeEl) { 1273 var sr = 22050, n = Math.floor(sr * 0.62); 1274 var buf = new ArrayBuffer(44 + n * 2), v = new DataView(buf); 1275 function w(o, s) { for (var i = 0; i < s.length; i++) v.setUint8(o + i, s.charCodeAt(i)); } 1276 w(0, 'RIFF'); v.setUint32(4, 36 + n * 2, true); w(8, 'WAVEfmt '); 1277 v.setUint32(16, 16, true); v.setUint16(20, 1, true); v.setUint16(22, 1, true); 1278 v.setUint32(24, sr, true); v.setUint32(28, sr * 2, true); 1279 v.setUint16(32, 2, true); v.setUint16(34, 16, true); 1280 w(36, 'data'); v.setUint32(40, n * 2, true); 1281 for (var i = 0; i < n; i++) { 1282 var t = i / sr, g = 0, f = 1175; 1283 if (t >= 0.02 && t < 0.18) { f = 1175; g = Math.min(1, (t - 0.02) / 0.025); } 1284 else if (t >= 0.18 && t < 0.60) { 1285 f = 1568; g = Math.min(1, (t - 0.18) / 0.025) * Math.pow(0.0003, (t - 0.18) / 0.40); 1286 } 1287 var s = g > 0 ? Math.round(27800 * g * Math.sin(2 * Math.PI * f * (t - 0.02))) : 0; 1288 v.setInt16(44 + i * 2, s, true); 1289 } 1290 chimeEl = new Audio(URL.createObjectURL(new Blob([buf], { type: 'audio/wav' }))); 1291 chimeEl.volume = 1; 1292 } 1293 var p = chimeEl.play(); 1294 if (p && p.catch) p.catch(function () {}); 1295 } catch (e) {} 1296 } 1297 function toneWA() { 1298 try { 1299 var AC = window.AudioContext || window.webkitAudioContext; 1300 if (AC) { 1301 audioCtx = audioCtx || new AC(); 1302 if (audioCtx.state === 'suspended') { try { audioCtx.resume(); } catch (e2) {} } 1303 if (audioCtx.state === 'running') { 1304 var t0 = audioCtx.currentTime + 0.02; 1305 [[1175, 0], [1568, 0.16]].forEach(function (p) { 1306 var o = audioCtx.createOscillator(), g = audioCtx.createGain(); 1307 o.type = 'sine'; o.frequency.value = p[0]; 1308 g.gain.setValueAtTime(0.0001, t0 + p[1]); 1309 g.gain.exponentialRampToValueAtTime(0.85, t0 + p[1] + 0.025); 1310 g.gain.exponentialRampToValueAtTime(0.0001, t0 + p[1] + 0.38); 1311 o.connect(g); g.connect(audioCtx.destination); 1312 o.start(t0 + p[1]); o.stop(t0 + p[1] + 0.42); 1313 }); 1314 return; 1315 } 1316 } 1317 } catch (e) {} 1318 chime(); // WebAudio недоÑÑÑпен/ÑÐ¿Ð¸Ñ â WAV-ÑолбÑк 1319 } 1320 function beep() { 1321 // v1.4.4: guard «ÑолÑко на видимой вкладке» ÑнÑÑ â пÑи 1322 // вÑклÑÑенном ÑкÑане keep-alive деÑÐ¶Ð¸Ñ ÑÑÑаниÑÑ Ð¶Ð¸Ð²Ð¾Ð¹, 1323 // и звÑк должен звÑÑаÑÑ; вÑÐ±Ð¾Ñ Ð¿ÑÑи â по видимоÑÑи. 1324 if (d.visibilityState === 'visible') { toneWA(); return; } 1325 chime(); 1326 } 1327 function unlockAudio() { 1328 try { 1329 var AC = window.AudioContext || window.webkitAudioContext; 1330 if (!AC) return; 1331 audioCtx = audioCtx || new AC(); 1332 if (audioCtx.state === 'suspended') audioCtx.resume(); 1333 } catch (e) {} 1334 if (isOpen) KA.start(); // v1.4.4: лÑп нÑжен ÑолÑко Ñем, кÑо ждÑÑ Ð¾ÑÐ²ÐµÑ 1335 } 1336 d.addEventListener('pointerdown', unlockAudio, true); 1337 d.addEventListener('touchstart', unlockAudio, true); 1338 1339 // --- опÑÐ¾Ñ ÑеÑвеÑа: ÑепоÑка setTimeout (без ÑÑеÑек инÑеÑвалов) --- 1340 // boot=true â пеÑвиÑÐ½Ð°Ñ Ð·Ð°Ð³ÑÑзка ÐСТÐÐ ÐÐ (after=0): ÑиÑÑем веÑÑ 1341 // диалог в пÑÑÑой конÑÐµÐ¹Ð½ÐµÑ (дÑбликаÑов бÑÑÑ Ð½Ðµ можеÑ), без 1342 // звÑка; по ней же воÑÑÑанавливаем бейдж непÑоÑиÑаннÑÑ . 1343 function poll(boot) { 1344 clearTimeout(pollTimer); 1345 api('/api/chat/poll', { uid: uid, after: boot ? 0 : lastId }, function (err, r) { 1346 if (!err && r && r.ok) { 1347 var arr = r.messages || []; 1348 var adminNew = 0; 1349 for (var i = 0; i < arr.length; i++) { 1350 var m = arr[i]; 1351 if (!boot && m.id <= lastId) continue; 1352 if (m.id >
1352 lastId) lastId = m.id; 1353 if (m.s === 'client') { 1354 // ÑÐ²Ð¾Ñ ÑообÑение: еÑли Ñакой ÑекÑÑ ÐµÑÑ Ð¶Ð´ÑÑ 1355 // подÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ â пÑзÑÑÑ Ñже наÑиÑован (merge), 1356 // инаÑе ÑÑо иÑÑоÑиÑ/недоÑÑавленное â ÑиÑÑем 1357 var pi = pending.indexOf(m.b); 1358 if (pi >= 0) { pending.splice(pi, 1); } 1359 else { bubble('client', m.b, m.t); } 1360 } else { 1361 bubble('admin', m.b, m.t); 1362 if (!boot) adminNew++; 1363 } 1364 } 1365 if (boot) { 1366 // непÑоÑиÑаннÑе оÑвеÑÑ Ð¾Ð¿ÐµÑаÑоÑа Ñ Ð¿ÑоÑлого визиÑа: 1367 // ÑÑиÑаем ÑолÑко в живом диалоге (не closed/spam) 1368 if (!isOpen && r.status !== 'closed' && r.status !== 'spam') { 1369 var cnt = 0; 1370 for (var j = 0; j < arr.length; j++) { 1371 if (arr[j].s === 'admin' && arr[j].id > seenId) cnt++; 1372 } 1373 if (cnt > 0) setUnread(cnt); 1374 } 1375 // конÑакÑÑ, оÑÑавленнÑе ÑанÑÑе, â обÑаÑно в Ð¿Ð¾Ð»Ñ 1376 if (r.name && !nameI.value) nameI.value = r.name; 1377 if (r.phone && !phoneI.value) phoneI.value = r.phone; 1378 booted = true; 1379 if (greetPending) { greetPending = false; if (isOpen) ensureGreeting(); } 1380 } else if (adminNew > 0) { 1381 if (!isOpen) setUnread(unread + adminNew); 1382 beep(); 1383 } 1384 if (r.status === 'closed' && !root.dataset.closedShown) { 1385 root.dataset.closedShown = '1'; 1386 sysLine('Ðиалог закÑÑÑ. ÐапиÑиÑе новое ÑообÑение â Ð¼Ñ Ñнова подклÑÑимÑÑ.'); 1387 } else if (r.status !== 'closed') { 1388 delete root.dataset.closedShown; 1389 } 1390 markSeen(); 1391 if (arr.length) scrollDown(); 1392 } 1393 var delay = err ? pollDelayError : (isOpen ? pollDelayOpen : pollDelayClosed); 1394 KA.check(); // v1.4.4: еÑли лÑп не ÑÑаÑÑовал (Ð½ÐµÑ Ð¶ÐµÑÑа) â пÑобÑем Ñнова 1395 pollTimer = setTimeout(function () { poll(false); }, delay); 1396 }); 1397 } 1398 function kickPoll() { clearTimeout(pollTimer); pollTimer = setTimeout(function () { poll(false); }, 300); } 1399 1400 d.addEventListener('visibilitychange', function () { 1401 if (d.visibilityState === 'visible') kickPoll(); 1402 }); 1403 window.addEventListener('pagehide', function () { clearTimeout(pollTimer); }); 1404 1405 // --- оÑпÑавка ÑообÑÐµÐ½Ð¸Ñ --- 1406 form.addEventListener('submit', function (e) { 1407 e.preventDefault(); 1408 var text = (input.value || '').trim(); 1409 if (!text) return; 1410 var el = bubble('client', text, ''); // опÑимиÑÑиÑнÑй пÑзÑÑÑ 1411 pending.push(text); 1412 KA.start(); // v1.4.4: ждÑм оÑÐ²ÐµÑ â деÑжим ÑÑÑаниÑÑ Ð¶Ð¸Ð²Ð¾Ð¹ и Ñо звÑком 1413 input.value = ''; 1414 autosize(); 1415 scrollDown(); 1416 api('/api/chat/post', { 1417 uid: uid, text: text, 1418 name: (nameI.value || '').trim(), 1419 phone: (phoneI.value || '').trim(), 1420 hp: '', ts: cfg.ts || '', 1421 page: location.href 1422 }, function (err, r) { 1423 if (!err && r && r.ok) { 1424 // v1.4.1: pending ÐÐ ÑиÑÑим â пÑзÑÑÑ Ñже наÑиÑован, а 1425 // опÑÐ¾Ñ Ð¿Ð¾Ð´ÑвеÑÐ´Ð¸Ñ ÐµÐ³Ð¾ ÑеÑез pending-ÑвеÑÐºÑ Ð¸ ÐРнаÑиÑÑÐµÑ 1426 // вÑоÑой. (РанÑÑе ÑекÑÑ ÑдалÑлÑÑ Ð¸Ð· pending здеÑÑ, и 1427 // опÑÐ¾Ñ ÑиÑовал ÑообÑение повÑоÑно â ÑÐ¾Ñ ÑамÑй дÑблÑ.) 1428 if (r.time) { 1429 var t = d.createElement('span'); t.className = 'td-chat-t'; t.textContent = r.time; 1430 el.appendChild(t); 1431 } 1432 kickPoll(); 1433 } else { 1434 el.remove();
1435 var idx = pending.indexOf(text); if (idx >= 0) pending.splice(idx, 1); 1436 input.value = text; 1437 autosize(); 1438 sysLine(err && r && r.error ? r.error : 'Ðе оÑпÑавлено â пÑовеÑÑÑе ÑвÑÐ·Ñ Ð¸ попÑобÑйÑе еÑÑ Ñаз'); 1439 scrollDown(); 1440 } 1441 }); 1442 }); 1443 1444 function autosize() { 1445 input.style.height = 'auto'; 1446 input.style.height = Math.min(input.scrollHeight, 96) + 'px'; 1447 } 1448 input.addEventListener('input', autosize); 1449 input.addEventListener('keydown', function (e) { 1450 if (e.key === 'Enter' && !e.shiftKey) { e.preventDefault(); form.dispatchEvent(new Event('submit', { cancelable: true })); } 1451 }); 1452 1453 // --- оÑкÑÑÑÑ/закÑÑÑÑ (ÑоÑÑоÑние пеÑÐµÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿ÐµÑÐµÑ Ð¾Ð´Ñ Ð¼ÐµÐ¶Ð´Ñ ÑÑÑаниÑами) --- 1454 function openPanel() { 1455 root.classList.add('open'); 1456 panel.hidden = false; 1457 btn.setAttribute('aria-expanded', 'true'); 1458 isOpen = true; 1459 setUnread(0); 1460 place(); 1461 try { sessionStorage.setItem('tdChatOpen', '1'); } catch (e) {} 1462 // ÐÑивеÑÑÑвие â ÑолÑко еÑли иÑÑоÑии еÑÑ Ð½ÐµÑ. Ðока boot не 1463 // доÑÑл â ждÑм его (greetPending), ÑÑÐ¾Ð±Ñ Ð½Ðµ вклиниÑÑÑÑ 1464 // поÑÑеди воÑÑÑановленной пеÑепиÑки. 1465 if (booted) ensureGreeting(); else greetPending = true; 1466 scrollDown(); 1467 setTimeout(function () { input.focus(); }, 120); 1468 kickPoll(); 1469 KA.start(); // v1.4.4: оÑкÑÑÑÑй ÑÐ°Ñ = ждÑм оÑÐ²ÐµÑ Ñо звÑком (даже Ñ Ð¿Ð¾Ð³Ð°ÑеннÑм ÑкÑаном) 1470 } 1471 function closePanel() { 1472 root.classList.remove('open'); 1473 panel.hidden = true; 1474 btn.setAttribute('aria-expanded', 'false'); 1475 isOpen = false; 1476 try { sessionStorage.setItem('tdChatOpen', '0'); } catch (e) {} 1477 } 1478 1479 btn.addEventListener('click', function () { unlockAudio(); isOpen ? closePanel() : openPanel(); }); 1480 closeBtn.addEventListener('click', closePanel); 1481 d.addEventListener('keydown', function (e) { if (e.key === 'Escape' && isOpen) closePanel(); }); 1482 window.addEventListener('resize', place); 1483 // v1.4.5: позиÑÐ¸Ñ ÑÑоÑнÑеÑÑÑ Ð¿Ð¾Ð²ÑоÑно â пилÑÐ»Ñ Â«Ðнлайн-запиÑÑ» и 1484 // ÑÑиÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð´Ð¾Ð³ÑÑзиÑÑÑÑ Ð¿Ð¾Ñле пеÑвого ÑаÑÑÑÑа, а пÑи возвÑаÑе 1485 // на Ð²ÐºÐ»Ð°Ð´ÐºÑ ÑаÑкладка могла ÑмениÑÑÑÑ (мобилÑÐ½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»Ñ Ð¸ Ñ.п.) 1486 window.addEventListener('load', place); 1487 setTimeout(place, 250); 1488 setTimeout(place, 900); 1489 d.addEventListener('visibilitychange', function () { if (d.visibilityState === 'visible') place(); }); 1490 1491 // --- API-помоÑник --- 1492 function api(url, body, cb) { 1493 try { 1494 var xhr = new XMLHttpRequest(); 1495 xhr.open('POST', url, true); 1496 xhr.setRequestHeader('Content-Type', 'application/json'); 1497 xhr.timeout = 15000; 1498 xhr.onreadystatechange = function () { 1499 if (xhr.readyState !== 4) return; 1500 var r = null; 1501 try { r = JSON.parse(xhr.responseText); } catch (e) {} 1502 if (xhr.status >= 200 && xhr.status < 300 && r) cb(null, r); 1503 else cb(true, r); 1504 }; 1505 xhr.ontimeout = function () { cb(true, null); }; 1506 xhr.send(JSON.stringify(body)); 1507 } catch (e) { cb(true, null); } 1508 } 1509 1510 // --- ÑÑаÑÑ: еÑли ÑÐ°Ñ Ð±Ñл оÑкÑÑÑ Ð´Ð¾ пеÑÐµÑ Ð¾Ð´Ð° на дÑÑгÑÑ ÑÑÑаниÑÑ â оÑкÑÑваем Ñнова --- 1511 var wasOpen = false;
1512 try { wasOpen = sessionStorage.getItem('tdChatOpen') === '1'; } catch (e) {} 1513 if (wasOpen === true) openPanel(); 1514 1515 place(); 1516 poll(true); // v1.4.1: ÑнаÑала вÑÑ Ð¸ÑÑоÑÐ¸Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð°, далÑÑе â инкÑеменÑалÑно 1517 })(); 1518 </script>
1518 1519</div> 1520</body> 1521</html>
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.