Help
RSS
API
Feed
Maltego
Contact
Domain > laboprint.ru
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2019-03-01
185.9.147.100
(
ClassC
)
2026-02-19
77.222.40.47
(
ClassC
)
Port 80
HTTP/1.1 200 OKServer: nginx/1.27.4Date: Thu, 19 Feb 2026 14:42:12 GMTContent-Type: text/html; charsetUTF-8Content-Length: 39936Connection: keep-aliveKeep-Alive: timeout10Vary: Accept-EncodingX-Powered-By: PHP/8.4.16 !DOCTYPE html>html langru>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>Студия печати LaboPrint: Превращаем идеи в вещи! /title> meta itempropdescription namedescription contentСтудия печати LaboPrint в Москве. От единственной уникальной вещи до крупного тиража — всё в одном месте.> link itempropcssSelector href/stylesheets/style.css?v11999 typetext/css relstylesheet> link relicon href/images/favicons/icon.svg typeimage/svg+xml> link relapple-touch-icon sizes180x180 href/images/favicons/apple-touch-icon.png /> link relicon typeimage/png sizes32x32 href/images/favicons/favicon-32x32.png /> link relicon typeimage/png sizes16x16 href/images/favicons/favicon-16x16.png /> link relmanifest href/images/favicons/site.webmanifest /> meta namemsapplication-TileColor content#ffffff /> meta nametheme-color content#ffffff /> meta nameyandex-verification content1c288070d96c6834 />/head>body>!-- Main Header with Navigation --> header classmain-header> div classcontainer> div classheader-inner> !-- Logo --> div classlogo> img src/images/Logo.svg altLaboPrint> /div> nav> div classPhone>a hreftel:+79777119319>img src/images/phone.svg>/a>/div> button classmobile-menu-btn>☰/button> ul classnav-menu> !-- Печать на одежде --> li classdropdown> a href/pechat-na-odezhde>Печать на одежде/a> ul classdropdown-menu> li>a href/pechat-na-odezhde/futbolki>Футболки/a>/li> li>a href/pechat-na-odezhde/tolstovki>Толстовки/a>/li> li>a href/pechat-na-odezhde/svitshoty>Свитшоты/a>/li> li>a href/pechat-na-odezhde/hudi>Худи/a>/li> li>a href/pechat-na-odezhde/kepki>Кепки / Бейсболки/a>/li> li>a href/pechat-na-odezhde/noski>Носки/a>/li> li>a href/pechat-na-posude/kruzhki>Кружки/a>/li> /ul> /li> li>a href/konstruktor-futbolok>Конструктор/a>/li> li>a href/dostavka>Оплата/Доставка/a>/li> li>a href/contact>Контакты/a>/li> li>a href/about>О нас/a>/li> !-- Контактная информация --> li> a classtel hreftel:+7 977 711-93-19>+7 977 711-93-19/a>br> a hrefmailto:info@laboprint.ru>info@laboprint.ru/a> /li> /ul>/nav> /div> /div> /header>header classheaderindex> video idheader-video classheader-video preloadmetadata playsinline muted loop autoplay> source src/images/video.mp4 typevideo/mp4> source src/images/video.webm typevideo/webm> /video>div classheader-content> h1>Превращаем span classh1sl>идеи/span> в вещи!/h1> p> Наша студия печати — ваша творческая мастерская, где печатают практически на всём! /p> button classcallback-btn open-callback-modal>Создайте мой дизайн svg classdefault-icon xmlnshttp://www.w3.org/2000/svg width32 height32 viewBox0 0 32 32 fillnone> path dM0.6 8C0.6 3.91309 3.91309 0.6 8 0.6H24C28.0869 0.6 31.4 3.91309 31.4 8V24C31.4 28.0869 28.0869 31.4 24 31.4H8C3.91309 31.4 0.6 28.0869 0.6 24V8Z stroke#ffffff stroke-width1.2>/path> path fill-ruleevenodd clip-ruleevenodd dM16.5286 11.1953C16.2682 11.4556 16.2682 11.8777 16.5286 12.1381L19.7239 15.3333L10.6667 15.3333C10.2985 15.3333 10 15.6318 10 16C10 16.3682 10.2985 16.6667 10.6667 16.6667L19.7239 16.6667L16.5286 19.8619C16.2682 20.1223 16.2682 20.5444 16.5286 20.8047C16.7889 21.0651 17.2111 21.0651 17.4714 20.8047L21.8047 16.4714C22.0651 16.2111 22.0651 15.7889 21.8047 15.5286L17.4714 11.1953C17.2111 10.9349 16.7889 10.9349 16.5286 11.1953Z fill#ffffff>/path> /svg>/button> /div>div classnectar-shape-divider-wrap no-color data-stylewaves_opacity_alt data-positionbottom>svg classnectar-shape-divider aria-hiddentrue fill xmlnshttp://www.w3.org/2000/svg viewBox0 0 1000 300 preserveAspectRationone> path dM 1000 299 l 2 -279 c -155 -36 -310 135 -415 164 c -102.64 28.35 -149 -32 -232 -31 c -80 1 -142 53 -229 80 c -65.54 20.34 -101 15 -126 11.61 v 54.39 z>/path> path dM 1000 286 l 2 -252 c -157 -43 -302 144 -405 178 c -101.11 33.38 -159 -47 -242 -46 c -80 1 -145.09 54.07 -229 87 c -65.21 25.59 -104.07 16.72 -126 10.61 v 22.39 z>/path> path dM 1000 300 l 1 -230.29 c -217 -12.71 -300.47 129.15 -404 156.29 c -103 27 -174 -30 -257 -29 c -80 1 -130.09 37.07 -214 70 c -61.23 24 -108 15.61 -126 10.61 v 22.39 z>/path> /svg>/div>/header> div classcontainer>section classadvantages> ul classadvantages-list> li>Современное оборудование/li> li>Качественные материалы/li> li>Быстрые сроки выполнения/li> li>Индивидуальный подход/li> /ul> /section>/div> !-- Categories --> section classcategories> div classcontainer> div classcategory-grid> !-- Печать на одежде --> div classcategory-card idtode> a href/pechat-na-odezhde>h3>Печать на одежде/h3>/a> div classcategory-items> a href/pechat-na-odezhde/futbolki>span classcategory-item>Футболки/span>/a> a href/pechat-na-odezhde/tolstovki>span classcategory-item>Толстовки/span>/a> a href/pechat-na-odezhde/svitshoty>span classcategory-item>Свитшоты/span>/a> a href/pechat-na-odezhde/hudi>span classcategory-item>Худи/span>/a> a href/pechat-na-odezhde/beysbolki>span classcategory-item>Бейсболки/span>/a> a href/pechat-na-odezhde/noski>span classcategory-item>Носки/span>/a> /div> /div> !-- Печать на посуде --> div classcategory-card idposude> a href/pechat-na-posude>h3>Печать на посуде/h3>/a> div classcategory-items> span classcategory-item>Кружки/span> span classcategory-item>Фляги/span> span classcategory-item>Тарелки/span> /div> /div> !-- Аксессуары --> div classcategory-card idaksessuary> h3>Аксессуары/h3> div classcategory-items> span classcategory-item>Чехлы/span> span classcategory-item>Брелки/span> span classcategory-item>Кепки/span> span classcategory-item>Сумки/span> span classcategory-item>Рюкзаки/span> /div> /div> !-- Для дома --> div classcategory-card idhome> h3>Для дома/h3> div classcategory-items> span classcategory-item>Подушки/span> span classcategory-item>Магниты/span> span classcategory-item>Коврики для мыши/span> span classcategory-item>Пазлы/span> span classcategory-item>Часы/span> span classcategory-item>Новогодние сувениры/span> /div> /div> !-- Фотоуслуги --> div classcategory-card idupakovka> h3>Фотоуслуги/h3> div classcategory-items> span classcategory-item>Печать фотографий/span> span classcategory-item>Календари/span> span classcategory-item>Реставрация фотографий/span> span classcategory-item>Печать документов/span> span classcategory-item>Упаковка/span> /div> /div> /div> p>Мечтаете оживить любимую фотографию, создать стильный мерч для команды или подарить близким необычный сувенир? Наша студия — ваша творческая мастерская, где печатают практически на всём!/p> p>b>Одежда и аксессуары:/b> Футболки, толстовки, свитшоты, худи, бейсболки, носки, кепки, сумки, рюкзаки. Ваш дизайн заиграет на качественной ткани./p>p>b>Посуда и подарки:/b> Кружки, фляги, тарелки. Создадим уютный персональный подарок или корпоративный сувенир, который запомнится./p>p>b>Для дома и офиса:/b> Подушки, магнитные держатели, коврики для мыши, пазлы, часы. Добавим индивидуальности вашему пространству./p>p>b>Фотоуслуги и полиграфия:/b> Печать фотографий любого формата, создание календарей, реставрация старых снимков, печать документов и упаковки./p>p stylemargin-bottom: 40px;>b>И многое другое:/b> Новогодние сувениры, чехлы, брелки и многое другое. Если вы можете это придумать — мы сможем это напечатать!/p> /div> /section> section classorder-process> div classcontainer> h2 classsection-title> Как оформить? span classdeadline-badge>Печатаем за один день/span> /h2> div classprocess-steps> div classprocess-step> div classstep-number>1/div> h3>Пришлите идею/h3> p>Отправьте фото или опишите вашу идею текстом/p> /div> div classprocess-step> div classstep-number>2/div> h3>Выберите продукцию/h3> p>Футболку, худи, носки или другую продукцию/p> /div> div classprocess-step> div classstep-number>3/div> h3>Согласование/h3> p>Согласуем макеты и все детали заказа/p> /div> div classprocess-step> div classstep-number>4/div> h3>Доставка/h3> p>Оперативная доставка по России/p> /div> /div> div classtxtp> p>Оформить заказ проще простого: отправьте нам фото или описание вашей идеи на почту a hrefmailto:info@laboprint.ru>b>info@laboprint.ru/b>/a> или позвоните по телефону a hreftel:+7 (977) 711-93-19>b>+7 (977) 711-93-19/b>/a>. Наши профессиональные дизайнеры совершенно бесплатно помогут доработать макет, подобрать оптимальные цвета и шрифты, чтобы результат превзошел все ожидания!/p>/div> /div> /section>!-- Блок цен -->!-- Второй блок Наши работы --> !-- About --> section classabout> div classcontainer> h2 styletext-align: center; margin-bottom: 40px; color: var(--primary);>О компании LaboPrint/h2> p> Студия печати LaboPrint работает на рынке полиграфических услуг более 5 лет. Мы специализируемся на создании качественных принтов на различных поверхностях - от одежды и аксессуаров до сувенирной продукции. Наша команда - это опытные дизайнеры и технологи, которые помогут реализовать любую вашу идею. /p> /div> /section>section classportfolio-section> div classcontainer> h2 classsection-title>Наши работы/h2> div classportfolio-grid> div classportfolio-item> div classportfolio-image>img src/images/nashi-raboty-kruzhki.jpg>/div> div classportfolio-info> h3>Кружки с разнообразным принтом/h3> p>Нанесение принта на кружки/p> /div> /div> div classportfolio-item> div classportfolio-image>img src/images/nashi-raboty-sumka-shopper.jpg>/div> div classportfolio-info> h3>Сумки для турагенства/h3> p>Индивидуальный заказ принта на сумках/p> /div> /div> div classportfolio-item> div classportfolio-image>img src/images/nashi-raboty-futbolka.jpg>/div> div classportfolio-info> h3>Брендирование футболок/h3> p>Корпоративные футболки с логотипом/p> /div> /div> /div> /div>/section> !-- FAQ --> section classfaq> div classcontainer> h2 classsection-title>Ответы на вопросы/h2> div classfaq-list> div classfaq-item> div classfaq-question> Как долго держится печать на ткани? span classfaq-toggle>+/span> /div> div classfaq-answer> Мы даем гарантию на 30 стирок. При правильном уходе принт сохраняет яркость и целостность значительно дольше. /div> /div> div classfaq-item> div classfaq-question> Печатаете ли вы на текстиле заказчика? span classfaq-toggle>+/span> /div> div classfaq-answer> Да, мы принимаем вещи заказчика для нанесения принтов. Предварительно рекомендуем проконсультироваться о совместимости материала с выбранной технологией печати. /div> /div> div classfaq-item> div classfaq-question> Можно ли заказать одну футболку с принтом? span classfaq-toggle>+/span> /div> div classfaq-answer> Да, мы предлагаем услуги печати даже для одного изделия. Идеально для тестирования дизайна или создания уникального подарка. /div> /div> div classfaq-item> div classfaq-question> Сможете нарисовать по моим идеям макет? span classfaq-toggle>+/span> /div> div classfaq-answer> Да, нарисуем бесплатно при заказе печати. Наши дизайнеры помогут доработать вашу идею и создать профессиональный макет для печати. /div> /div> /div> /div> /section>!-- Footer --> footer classmain-footer> div classcontainer> div classfooter-grid> !-- Логотип и копирайт --> div classfooter-column> div classfooter-logo> img src/images/FooterLogo.svg altLaboPrint> p>© 2025 LaboPrint. Формула Вашего стиля./p>hr> p>Мы специализируемся на создании качественных принтов на различных поверхностях - от одежды и аксессуаров до сувенирной продукции/p> /div> /div> !-- Продукция --> div classfooter-column> h3>Продукция/h3> ul classfooter-links> li>a href/pechat-na-odezhde>Печать на одежде/a>/li> li>Печать на посуде/li> li>Аксессуары/li> li>Для дома/li> li>Фотоуслуги/li> /ul> /div> !-- Полезная информация --> div classfooter-column> h3>Полезная информация/h3> ul classfooter-links> li>a href/contact>Контакты/a>/li> li>a href/about>О нас/a>/li> li>a href/konstruktor-futbolok>Конструктор футболок/a>/li> li>a href/dostavka>Оплата и доставка/a>/li> li>a href/oferta>Публичная оферта/a>/li> /ul> /div> !-- Контакты --> div classfooter-column> h3>Контакты/h3> div classfooter-contact> a hreftel:+79777119319>+7 (977) 711-93-19/a> /div> div classfooter-contact> a hrefmailto:info@laboprint.ru>info@laboprint.ru/a> /div> div classfooter-contact> p>ИНН: 772983260578/p>/div> button classfooter-callback-btn open-callback-modal>Заказ обратного звонка/button> /div> /div> div classfooter-bottom> p>Студия печати LaboPrint - качественная печать на одежде и сувенирах в Москве/p> p>a stylecolor#fff; href/about>Политика конфиденциальности/a>/p> /div> /div> /footer>div classWhatsApp>a target_blank relnofollow hrefhttps://api.whatsapp.com/send/?phone79777119319&textЗдравствуйте%2C+необходима+печать>svg viewBox0 0 31 30 height60 preserveAspectRatioxMidYMid meet classx1knego9 fillnone>title>WhatsApp/title>path dM30.3139 14.3245C30.174 10.4932 28.5594 6.864 25.8073 4.1948C23.0552 1.52559 19.3784 0.0227244 15.5446 4.10118e-06H15.4722C12.8904 -0.00191309 10.3527 0.668375 8.10857 1.94491C5.86449 3.22145 3.99142 5.06026 2.67367 7.28039C1.35592 9.50053 0.6389 12.0255 0.593155 14.6068C0.547411 17.1882 1.17452 19.737 2.41278 22.0024L1.09794 29.8703C1.0958 29.8865 1.09712 29.9029 1.10182 29.9185C1.10651 29.9341 1.11448 29.9485 1.12518 29.9607C1.13588 29.973 1.14907 29.9828 1.16387 29.9896C1.17867 29.9964 1.19475 29.9999 1.21103 30H1.23365L9.01561 28.269C11.0263 29.2344 13.2282 29.7353 15.4586 29.7346C15.6004 29.7346 15.7421 29.7346 15.8838 29.7346C17.8458 29.6786 19.7773 29.2346 21.5667 28.4282C23.3562 27.6218 24.9682 26.469 26.3098 25.0363C27.6514 23.6036 28.696 21.9194 29.3832 20.0809C30.0704 18.2423 30.3867 16.2859 30.3139 14.3245ZM15.8099 27.1487C15.6923 27.1487 15.5747 27.1487 15.4586 27.1487C13.4874 27.1511 11.5444 26.6795 9.79366 25.7735L9.39559 25.5654L4.11815 26.8124L5.09221 21.4732L4.86604 21.0902C3.78579 19.2484 3.20393 17.157 3.17778 15.0219C3.15163 12.8869 3.68208 10.7819 4.71689 8.91419C5.75171 7.0465 7.25518 5.48059 9.07924 4.37067C10.9033 3.26076 12.985 2.64514 15.1194 2.58444C15.238 2.58444 15.3571 2.58444 15.4767 2.58444C18.6992 2.59399 21.7889 3.86908 24.0802 6.13498C26.3715 8.40087 27.681 11.4762 27.7265 14.6984C27.7719 17.9205 26.5498 21.0316 24.3234 23.3612C22.0969 25.6909 19.0444 27.0527 15.8235 27.1532L15.8099 27.1487Z fillcurrentColor>/path>path dM10.2894 7.69007C10.1057 7.69366 9.92456 7.73407 9.75673 7.80892C9.5889 7.88377 9.43779 7.99154 9.31236 8.12584C8.95801 8.48923 7.96736 9.36377 7.91006 11.2003C7.85277 13.0369 9.13594 14.8538 9.31537 15.1086C9.49481 15.3635 11.7686 19.3306 15.5141 20.9395C17.7156 21.8879 18.6806 22.0507 19.3063 22.0507C19.5642 22.0507 19.7587 22.0236 19.9622 22.0115C20.6483 21.9693 22.1969 21.1762 22.5346 20.3137C22.8724 19.4512 22.895 18.6973 22.806 18.5465C22.7171 18.3957 22.4728 18.2872 22.1049 18.0942C21.737 17.9012 19.9321 16.9361 19.5928 16.8004C19.467 16.7419 19.3316 16.7066 19.1932 16.6964C19.1031 16.7011 19.0155 16.7278 18.938 16.774C18.8605 16.8203 18.7954 16.8847 18.7484 16.9618C18.4469 17.3372 17.7548 18.153 17.5225 18.3882C17.4718 18.4466 17.4093 18.4938 17.3392 18.5265C17.2691 18.5592 17.1928 18.5768 17.1154 18.5782C16.9728 18.5719 16.8333 18.5344 16.7068 18.4681C15.6135 18.0038 14.6167 17.339 13.768 16.5079C12.975 15.7263 12.3022 14.8315 11.7716 13.8526C11.5666 13.4726 11.7716 13.2766 11.9586 13.0987C12.1456 12.9208 12.3461 12.675 12.5391 12.4624C12.6975 12.2808 12.8295 12.0777 12.9312 11.8593C12.9838 11.7578 13.0104 11.6449 13.0085 11.5307C13.0067 11.4165 12.9765 11.3045 12.9206 11.2048C12.8317 11.0149 12.1667 9.14664 11.8546 8.39725C11.6013 7.75642 11.2997 7.73531 11.0358 7.7157C10.8187 7.70062 10.5699 7.69309 10.3211 7.68555H10.2894 fillcurrentColor>/path>/svg>/a>/div> !-- Callback Modal --> div idcallbackModal classcallback-modal> div classcallback-modal-content> span classcallback-close>×/span> h2 classcallback-title>Создаим Ваш дизайн/h2> form idcallbackForm classcallback-form> input typehidden nameform_type valuecallback> div classform-group> label forcallbackName classform-label>Ваше имя */label> input typetext idcallbackName namename required classform-input placeholderВведите ваше имя> span classerror-message idcallbackNameError>/span> /div> div classform-group> label forcallbackPhone classform-label>Телефон */label> input typetel idcallbackPhone namephone required classform-input placeholder+7 (999) 999-99-99> span classerror-message idcallbackPhoneError>/span> /div> div classform-group> label forcallbackEmail classform-label>Email (необязательно)/label> input typeemail idcallbackEmail nameemail classform-input placeholderexample@mail.ru> span classerror-message idcallbackEmailError>/span> /div> div classform-group> label forcallbackMessage classform-label>Комментарий (необязательно)/label> textarea idcallbackMessage namemessage rows3 classform-textarea placeholderНапример: Интересует набор для выращивания помидоров>/textarea> /div> button typesubmit classcallback-submit-btn>Заказать звонок/button> /form> /div> /div> !-- Yandex.Metrika counter -->script typetext/javascript> (function(m,e,t,r,i,k,a){ mimi||function(){(mi.ami.a||).push(arguments)}; mi.l1*new Date(); for (var j 0; j document.scripts.length; j++) {if (document.scriptsj.src r) { return; }} ke.createElement(t),ae.getElementsByTagName(t)0,k.async1,k.srcr,a.parentNode.insertBefore(k,a) })(window, document,script,https://mc.yandex.ru/metrika/tag.js?id105089665, ym); ym(105089665, init, {ssr:true, webvisor:true, clickmap:true, ecommerce:dataLayer, accurateTrackBounce:true, trackLinks:true});/script>noscript>div>img srchttps://mc.yandex.ru/watch/105089665 styleposition:absolute; left:-9999px; alt />/div>/noscript>!-- /Yandex.Metrika counter -->script>document.addEventListener(DOMContentLoaded, function() { const video document.getElementById(header-video); // Пытаемся запустить воспроизведение function playVideo() { video.play().catch(function(error) { console.log(Автовоспроизведение заблокировано:, error); // Показываем кнопку для ручного запуска showPlayButton(); }); } // Функция для показа кнопки воспроизведения function showPlayButton() { const playButton document.createElement(button); playButton.innerHTML ▶ Воспроизвести видео; playButton.className video-play-button; playButton.style.cssText ` position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; padding: 12px 24px; background: rgba(255,255,255,0.8); border: none; border-radius: 4px; cursor: pointer; font-size: 16px; `; playButton.addEventListener(click, function() { video.play(); playButton.remove(); }); document.querySelector(.header).appendChild(playButton); } // Запускаем видео когда оно готово video.addEventListener(loadeddata, function() { playVideo(); }); // Альтернативный способ - запуск после взаимодействия с пользователем document.addEventListener(click, function() { if (video.paused) { video.play(); } }, { once: true }); // Сработает только один раз});/script> script> // Mobile Menu document.addEventListener(DOMContentLoaded, function() { const mobileMenuBtn document.querySelector(.mobile-menu-btn); const navMenu document.querySelector(.nav-menu); const dropdowns document.querySelectorAll(.dropdown); mobileMenuBtn.addEventListener(click, () > { navMenu.classList.toggle(active); }); // Dropdown for mobile dropdowns.forEach(dropdown > { const link dropdown.querySelector(a); link.addEventListener(click, (e) > { if (window.innerWidth 768) { e.preventDefault(); dropdown.classList.toggle(active); } }); }); // Close menu when clicking outside document.addEventListener(click, (e) > { if (!e.target.closest(nav) && window.innerWidth 768) { navMenu.classList.remove(active); dropdowns.forEach(dropdown > { dropdown.classList.remove(active); }); } }); // Карусель const track document.querySelector(.carousel-track); const slides document.querySelectorAll(.carousel-slide); const dots document.querySelectorAll(.carousel-dot); let currentSlide 0; function updateCarousel() { track.style.transform `translateX(-${currentSlide * 100}%)`; dots.forEach((dot, index) > { dot.classList.toggle(active, index currentSlide); }); } dots.forEach((dot, index) > { dot.addEventListener(click, () > { currentSlide index; updateCarousel(); }); }); // Автопереключение карусели setInterval(() > { currentSlide (currentSlide + 1) % slides.length; updateCarousel(); }, 5000); // FAQ аккордеон const faqQuestions document.querySelectorAll(.faq-question); faqQuestions.forEach(question > { question.addEventListener(click, () > { const answer question.nextElementSibling; const toggle question.querySelector(.faq-toggle); answer.classList.toggle(active); toggle.classList.toggle(active); }); }); // Callback Modal const modal document.getElementById(callbackModal); const openModalButtons document.querySelectorAll(.open-callback-modal); const closeModalButton document.querySelector(.callback-close); const callbackForm document.getElementById(callbackForm); // Открытие модального окна openModalButtons.forEach(button > { button.addEventListener(click, () > { modal.style.display block; document.body.style.overflow hidden; // Блокируем прокрутку фона }); }); // Закрытие модального окна closeModalButton.addEventListener(click, () > { modal.style.display none; document.body.style.overflow auto; // Восстанавливаем прокрутку }); // Закрытие модального окна при клике вне его window.addEventListener(click, (e) > { if (e.target modal) { modal.style.display none; document.body.style.overflow auto; } }); // Phone input mask const phoneInput document.getElementById(callbackPhone); if (phoneInput) { phoneInput.addEventListener(input, function(e) { let value e.target.value.replace(/\D/g, ); if (value.length > 0) { if (value.length 1) { value +7 ( + value; } else if (value.length 4) { value +7 ( + value.slice(1, 4); } else if (value.length 7) { value +7 ( + value.slice(1, 4) + ) + value.slice(4, 7); } else if (value.length 9) { value +7 ( + value.slice(1, 4) + ) + value.slice(4, 7) + - + value.slice(7, 9); } else { value +7 ( + value.slice(1, 4) + ) + value.slice(4, 7) + - + value.slice(7, 9) + - + value.slice(9, 11); } } e.target.value value; }); } // Form validation function validateCallbackField(field, errorElement) { const value field.value.trim(); if (field.hasAttribute(required) && !value) { if (errorElement) { errorElement.textContent Это поле обязательно для заполнения; } field.style.borderColor #e74c3c; return false; } if (field.type tel && value) { const phoneRegex /^\+7\s\(\d{3}\)\s\d{3}-\d{2}-\d{2}$/; if (!phoneRegex.test(value)) { if (errorElement) { errorElement.textContent Введите корректный номер телефона; } field.style.borderColor #e74c3c; return false; } } if (errorElement) { errorElement.textContent ; } field.style.borderColor #4a7c20; return true; } // Real-time validation if (callbackForm) { const callbackInputs callbackForm.querySelectorAll(inputrequired); callbackInputs.forEach(input > { const errorElement document.getElementById(input.id + Error); input.addEventListener(blur, function() { validateCallbackField(input, errorElement); }); input.addEventListener(input, function() { if (errorElement && errorElement.textContent) { validateCallbackField(input, errorElement); } // Убираем красную обводку при вводе if (input.style.borderColor rgb(231, 76, 60)) { input.style.borderColor #ddd; } }); }); // Form submission callbackForm.addEventListener(submit, async function(e) { e.preventDefault(); console.log(Form submitted); // Validate all required fields let isValid true; const requiredFields callbackForm.querySelectorAll(inputrequired); requiredFields.forEach(field > { const errorElement document.getElementById(field.id + Error); if (!validateCallbackField(field, errorElement)) { isValid false; } }); if (!isValid) { showCallbackMessage(Пожалуйста, заполните все обязательные поля правильно, error); return; } // Submit form const formData new FormData(callbackForm); const submitBtn callbackForm.querySelector(.callback-submit-btn); const originalText submitBtn.textContent; submitBtn.disabled true; submitBtn.textContent Отправка...; try { console.log(Sending request...); // Используем message_save.php который уже работает const response await fetch(message_save.php, { method: POST, body: formData }); console.log(Response received:, response); const result await response.json(); console.log(Result:, result); if (result.success) { showCallbackMessage(✅ Ваша заявка принята! Мы перезвоним вам в указанное время., success); callbackForm.reset(); // Auto close after 3 seconds setTimeout(() > { callbackModal.style.display none; document.body.style.overflow auto; clearCallbackMessages(); }, 3000); } else { showCallbackMessage(❌ Ошибка: + (result.error || Неизвестная ошибка), error); } } catch (error) { console.error(Fetch error:, error); showCallbackMessage(❌ Ошибка сети: + error.message, error); } finally { submitBtn.disabled false; submitBtn.textContent originalText; } }); } // Message functions function showCallbackMessage(text, type) { clearCallbackMessages(); const message document.createElement(div); message.className `callback-message ${type}`; message.textContent text; const submitBtn callbackForm.querySelector(.callback-submit-btn); callbackForm.insertBefore(message, submitBtn); } function clearCallbackMessages() { const messages callbackForm.querySelectorAll(.callback-message); messages.forEach(msg > msg.remove()); }}); /script>/body>/html>
Port 443
HTTP/1.1 200 OKServer: nginx/1.27.4Date: Thu, 19 Feb 2026 14:42:14 GMTContent-Type: text/html; charsetUTF-8Content-Length: 39936Connection: keep-aliveKeep-Alive: timeout10Vary: Accept-EncodingX-Powered-By: PHP/8.4.16 !DOCTYPE html>html langru>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>Студия печати LaboPrint: Превращаем идеи в вещи! /title> meta itempropdescription namedescription contentСтудия печати LaboPrint в Москве. От единственной уникальной вещи до крупного тиража — всё в одном месте.> link itempropcssSelector href/stylesheets/style.css?v11999 typetext/css relstylesheet> link relicon href/images/favicons/icon.svg typeimage/svg+xml> link relapple-touch-icon sizes180x180 href/images/favicons/apple-touch-icon.png /> link relicon typeimage/png sizes32x32 href/images/favicons/favicon-32x32.png /> link relicon typeimage/png sizes16x16 href/images/favicons/favicon-16x16.png /> link relmanifest href/images/favicons/site.webmanifest /> meta namemsapplication-TileColor content#ffffff /> meta nametheme-color content#ffffff /> meta nameyandex-verification content1c288070d96c6834 />/head>body>!-- Main Header with Navigation --> header classmain-header> div classcontainer> div classheader-inner> !-- Logo --> div classlogo> img src/images/Logo.svg altLaboPrint> /div> nav> div classPhone>a hreftel:+79777119319>img src/images/phone.svg>/a>/div> button classmobile-menu-btn>☰/button> ul classnav-menu> !-- Печать на одежде --> li classdropdown> a href/pechat-na-odezhde>Печать на одежде/a> ul classdropdown-menu> li>a href/pechat-na-odezhde/futbolki>Футболки/a>/li> li>a href/pechat-na-odezhde/tolstovki>Толстовки/a>/li> li>a href/pechat-na-odezhde/svitshoty>Свитшоты/a>/li> li>a href/pechat-na-odezhde/hudi>Худи/a>/li> li>a href/pechat-na-odezhde/kepki>Кепки / Бейсболки/a>/li> li>a href/pechat-na-odezhde/noski>Носки/a>/li> li>a href/pechat-na-posude/kruzhki>Кружки/a>/li> /ul> /li> li>a href/konstruktor-futbolok>Конструктор/a>/li> li>a href/dostavka>Оплата/Доставка/a>/li> li>a href/contact>Контакты/a>/li> li>a href/about>О нас/a>/li> !-- Контактная информация --> li> a classtel hreftel:+7 977 711-93-19>+7 977 711-93-19/a>br> a hrefmailto:info@laboprint.ru>info@laboprint.ru/a> /li> /ul>/nav> /div> /div> /header>header classheaderindex> video idheader-video classheader-video preloadmetadata playsinline muted loop autoplay> source src/images/video.mp4 typevideo/mp4> source src/images/video.webm typevideo/webm> /video>div classheader-content> h1>Превращаем span classh1sl>идеи/span> в вещи!/h1> p> Наша студия печати — ваша творческая мастерская, где печатают практически на всём! /p> button classcallback-btn open-callback-modal>Создайте мой дизайн svg classdefault-icon xmlnshttp://www.w3.org/2000/svg width32 height32 viewBox0 0 32 32 fillnone> path dM0.6 8C0.6 3.91309 3.91309 0.6 8 0.6H24C28.0869 0.6 31.4 3.91309 31.4 8V24C31.4 28.0869 28.0869 31.4 24 31.4H8C3.91309 31.4 0.6 28.0869 0.6 24V8Z stroke#ffffff stroke-width1.2>/path> path fill-ruleevenodd clip-ruleevenodd dM16.5286 11.1953C16.2682 11.4556 16.2682 11.8777 16.5286 12.1381L19.7239 15.3333L10.6667 15.3333C10.2985 15.3333 10 15.6318 10 16C10 16.3682 10.2985 16.6667 10.6667 16.6667L19.7239 16.6667L16.5286 19.8619C16.2682 20.1223 16.2682 20.5444 16.5286 20.8047C16.7889 21.0651 17.2111 21.0651 17.4714 20.8047L21.8047 16.4714C22.0651 16.2111 22.0651 15.7889 21.8047 15.5286L17.4714 11.1953C17.2111 10.9349 16.7889 10.9349 16.5286 11.1953Z fill#ffffff>/path> /svg>/button> /div>div classnectar-shape-divider-wrap no-color data-stylewaves_opacity_alt data-positionbottom>svg classnectar-shape-divider aria-hiddentrue fill xmlnshttp://www.w3.org/2000/svg viewBox0 0 1000 300 preserveAspectRationone> path dM 1000 299 l 2 -279 c -155 -36 -310 135 -415 164 c -102.64 28.35 -149 -32 -232 -31 c -80 1 -142 53 -229 80 c -65.54 20.34 -101 15 -126 11.61 v 54.39 z>/path> path dM 1000 286 l 2 -252 c -157 -43 -302 144 -405 178 c -101.11 33.38 -159 -47 -242 -46 c -80 1 -145.09 54.07 -229 87 c -65.21 25.59 -104.07 16.72 -126 10.61 v 22.39 z>/path> path dM 1000 300 l 1 -230.29 c -217 -12.71 -300.47 129.15 -404 156.29 c -103 27 -174 -30 -257 -29 c -80 1 -130.09 37.07 -214 70 c -61.23 24 -108 15.61 -126 10.61 v 22.39 z>/path> /svg>/div>/header> div classcontainer>section classadvantages> ul classadvantages-list> li>Современное оборудование/li> li>Качественные материалы/li> li>Быстрые сроки выполнения/li> li>Индивидуальный подход/li> /ul> /section>/div> !-- Categories --> section classcategories> div classcontainer> div classcategory-grid> !-- Печать на одежде --> div classcategory-card idtode> a href/pechat-na-odezhde>h3>Печать на одежде/h3>/a> div classcategory-items> a href/pechat-na-odezhde/futbolki>span classcategory-item>Футболки/span>/a> a href/pechat-na-odezhde/tolstovki>span classcategory-item>Толстовки/span>/a> a href/pechat-na-odezhde/svitshoty>span classcategory-item>Свитшоты/span>/a> a href/pechat-na-odezhde/hudi>span classcategory-item>Худи/span>/a> a href/pechat-na-odezhde/beysbolki>span classcategory-item>Бейсболки/span>/a> a href/pechat-na-odezhde/noski>span classcategory-item>Носки/span>/a> /div> /div> !-- Печать на посуде --> div classcategory-card idposude> a href/pechat-na-posude>h3>Печать на посуде/h3>/a> div classcategory-items> span classcategory-item>Кружки/span> span classcategory-item>Фляги/span> span classcategory-item>Тарелки/span> /div> /div> !-- Аксессуары --> div classcategory-card idaksessuary> h3>Аксессуары/h3> div classcategory-items> span classcategory-item>Чехлы/span> span classcategory-item>Брелки/span> span classcategory-item>Кепки/span> span classcategory-item>Сумки/span> span classcategory-item>Рюкзаки/span> /div> /div> !-- Для дома --> div classcategory-card idhome> h3>Для дома/h3> div classcategory-items> span classcategory-item>Подушки/span> span classcategory-item>Магниты/span> span classcategory-item>Коврики для мыши/span> span classcategory-item>Пазлы/span> span classcategory-item>Часы/span> span classcategory-item>Новогодние сувениры/span> /div> /div> !-- Фотоуслуги --> div classcategory-card idupakovka> h3>Фотоуслуги/h3> div classcategory-items> span classcategory-item>Печать фотографий/span> span classcategory-item>Календари/span> span classcategory-item>Реставрация фотографий/span> span classcategory-item>Печать документов/span> span classcategory-item>Упаковка/span> /div> /div> /div> p>Мечтаете оживить любимую фотографию, создать стильный мерч для команды или подарить близким необычный сувенир? Наша студия — ваша творческая мастерская, где печатают практически на всём!/p> p>b>Одежда и аксессуары:/b> Футболки, толстовки, свитшоты, худи, бейсболки, носки, кепки, сумки, рюкзаки. Ваш дизайн заиграет на качественной ткани./p>p>b>Посуда и подарки:/b> Кружки, фляги, тарелки. Создадим уютный персональный подарок или корпоративный сувенир, который запомнится./p>p>b>Для дома и офиса:/b> Подушки, магнитные держатели, коврики для мыши, пазлы, часы. Добавим индивидуальности вашему пространству./p>p>b>Фотоуслуги и полиграфия:/b> Печать фотографий любого формата, создание календарей, реставрация старых снимков, печать документов и упаковки./p>p stylemargin-bottom: 40px;>b>И многое другое:/b> Новогодние сувениры, чехлы, брелки и многое другое. Если вы можете это придумать — мы сможем это напечатать!/p> /div> /section> section classorder-process> div classcontainer> h2 classsection-title> Как оформить? span classdeadline-badge>Печатаем за один день/span> /h2> div classprocess-steps> div classprocess-step> div classstep-number>1/div> h3>Пришлите идею/h3> p>Отправьте фото или опишите вашу идею текстом/p> /div> div classprocess-step> div classstep-number>2/div> h3>Выберите продукцию/h3> p>Футболку, худи, носки или другую продукцию/p> /div> div classprocess-step> div classstep-number>3/div> h3>Согласование/h3> p>Согласуем макеты и все детали заказа/p> /div> div classprocess-step> div classstep-number>4/div> h3>Доставка/h3> p>Оперативная доставка по России/p> /div> /div> div classtxtp> p>Оформить заказ проще простого: отправьте нам фото или описание вашей идеи на почту a hrefmailto:info@laboprint.ru>b>info@laboprint.ru/b>/a> или позвоните по телефону a hreftel:+7 (977) 711-93-19>b>+7 (977) 711-93-19/b>/a>. Наши профессиональные дизайнеры совершенно бесплатно помогут доработать макет, подобрать оптимальные цвета и шрифты, чтобы результат превзошел все ожидания!/p>/div> /div> /section>!-- Блок цен -->!-- Второй блок Наши работы --> !-- About --> section classabout> div classcontainer> h2 styletext-align: center; margin-bottom: 40px; color: var(--primary);>О компании LaboPrint/h2> p> Студия печати LaboPrint работает на рынке полиграфических услуг более 5 лет. Мы специализируемся на создании качественных принтов на различных поверхностях - от одежды и аксессуаров до сувенирной продукции. Наша команда - это опытные дизайнеры и технологи, которые помогут реализовать любую вашу идею. /p> /div> /section>section classportfolio-section> div classcontainer> h2 classsection-title>Наши работы/h2> div classportfolio-grid> div classportfolio-item> div classportfolio-image>img src/images/nashi-raboty-kruzhki.jpg>/div> div classportfolio-info> h3>Кружки с разнообразным принтом/h3> p>Нанесение принта на кружки/p> /div> /div> div classportfolio-item> div classportfolio-image>img src/images/nashi-raboty-sumka-shopper.jpg>/div> div classportfolio-info> h3>Сумки для турагенства/h3> p>Индивидуальный заказ принта на сумках/p> /div> /div> div classportfolio-item> div classportfolio-image>img src/images/nashi-raboty-futbolka.jpg>/div> div classportfolio-info> h3>Брендирование футболок/h3> p>Корпоративные футболки с логотипом/p> /div> /div> /div> /div>/section> !-- FAQ --> section classfaq> div classcontainer> h2 classsection-title>Ответы на вопросы/h2> div classfaq-list> div classfaq-item> div classfaq-question> Как долго держится печать на ткани? span classfaq-toggle>+/span> /div> div classfaq-answer> Мы даем гарантию на 30 стирок. При правильном уходе принт сохраняет яркость и целостность значительно дольше. /div> /div> div classfaq-item> div classfaq-question> Печатаете ли вы на текстиле заказчика? span classfaq-toggle>+/span> /div> div classfaq-answer> Да, мы принимаем вещи заказчика для нанесения принтов. Предварительно рекомендуем проконсультироваться о совместимости материала с выбранной технологией печати. /div> /div> div classfaq-item> div classfaq-question> Можно ли заказать одну футболку с принтом? span classfaq-toggle>+/span> /div> div classfaq-answer> Да, мы предлагаем услуги печати даже для одного изделия. Идеально для тестирования дизайна или создания уникального подарка. /div> /div> div classfaq-item> div classfaq-question> Сможете нарисовать по моим идеям макет? span classfaq-toggle>+/span> /div> div classfaq-answer> Да, нарисуем бесплатно при заказе печати. Наши дизайнеры помогут доработать вашу идею и создать профессиональный макет для печати. /div> /div> /div> /div> /section>!-- Footer --> footer classmain-footer> div classcontainer> div classfooter-grid> !-- Логотип и копирайт --> div classfooter-column> div classfooter-logo> img src/images/FooterLogo.svg altLaboPrint> p>© 2025 LaboPrint. Формула Вашего стиля./p>hr> p>Мы специализируемся на создании качественных принтов на различных поверхностях - от одежды и аксессуаров до сувенирной продукции/p> /div> /div> !-- Продукция --> div classfooter-column> h3>Продукция/h3> ul classfooter-links> li>a href/pechat-na-odezhde>Печать на одежде/a>/li> li>Печать на посуде/li> li>Аксессуары/li> li>Для дома/li> li>Фотоуслуги/li> /ul> /div> !-- Полезная информация --> div classfooter-column> h3>Полезная информация/h3> ul classfooter-links> li>a href/contact>Контакты/a>/li> li>a href/about>О нас/a>/li> li>a href/konstruktor-futbolok>Конструктор футболок/a>/li> li>a href/dostavka>Оплата и доставка/a>/li> li>a href/oferta>Публичная оферта/a>/li> /ul> /div> !-- Контакты --> div classfooter-column> h3>Контакты/h3> div classfooter-contact> a hreftel:+79777119319>+7 (977) 711-93-19/a> /div> div classfooter-contact> a hrefmailto:info@laboprint.ru>info@laboprint.ru/a> /div> div classfooter-contact> p>ИНН: 772983260578/p>/div> button classfooter-callback-btn open-callback-modal>Заказ обратного звонка/button> /div> /div> div classfooter-bottom> p>Студия печати LaboPrint - качественная печать на одежде и сувенирах в Москве/p> p>a stylecolor#fff; href/about>Политика конфиденциальности/a>/p> /div> /div> /footer>div classWhatsApp>a target_blank relnofollow hrefhttps://api.whatsapp.com/send/?phone79777119319&textЗдравствуйте%2C+необходима+печать>svg viewBox0 0 31 30 height60 preserveAspectRatioxMidYMid meet classx1knego9 fillnone>title>WhatsApp/title>path dM30.3139 14.3245C30.174 10.4932 28.5594 6.864 25.8073 4.1948C23.0552 1.52559 19.3784 0.0227244 15.5446 4.10118e-06H15.4722C12.8904 -0.00191309 10.3527 0.668375 8.10857 1.94491C5.86449 3.22145 3.99142 5.06026 2.67367 7.28039C1.35592 9.50053 0.6389 12.0255 0.593155 14.6068C0.547411 17.1882 1.17452 19.737 2.41278 22.0024L1.09794 29.8703C1.0958 29.8865 1.09712 29.9029 1.10182 29.9185C1.10651 29.9341 1.11448 29.9485 1.12518 29.9607C1.13588 29.973 1.14907 29.9828 1.16387 29.9896C1.17867 29.9964 1.19475 29.9999 1.21103 30H1.23365L9.01561 28.269C11.0263 29.2344 13.2282 29.7353 15.4586 29.7346C15.6004 29.7346 15.7421 29.7346 15.8838 29.7346C17.8458 29.6786 19.7773 29.2346 21.5667 28.4282C23.3562 27.6218 24.9682 26.469 26.3098 25.0363C27.6514 23.6036 28.696 21.9194 29.3832 20.0809C30.0704 18.2423 30.3867 16.2859 30.3139 14.3245ZM15.8099 27.1487C15.6923 27.1487 15.5747 27.1487 15.4586 27.1487C13.4874 27.1511 11.5444 26.6795 9.79366 25.7735L9.39559 25.5654L4.11815 26.8124L5.09221 21.4732L4.86604 21.0902C3.78579 19.2484 3.20393 17.157 3.17778 15.0219C3.15163 12.8869 3.68208 10.7819 4.71689 8.91419C5.75171 7.0465 7.25518 5.48059 9.07924 4.37067C10.9033 3.26076 12.985 2.64514 15.1194 2.58444C15.238 2.58444 15.3571 2.58444 15.4767 2.58444C18.6992 2.59399 21.7889 3.86908 24.0802 6.13498C26.3715 8.40087 27.681 11.4762 27.7265 14.6984C27.7719 17.9205 26.5498 21.0316 24.3234 23.3612C22.0969 25.6909 19.0444 27.0527 15.8235 27.1532L15.8099 27.1487Z fillcurrentColor>/path>path dM10.2894 7.69007C10.1057 7.69366 9.92456 7.73407 9.75673 7.80892C9.5889 7.88377 9.43779 7.99154 9.31236 8.12584C8.95801 8.48923 7.96736 9.36377 7.91006 11.2003C7.85277 13.0369 9.13594 14.8538 9.31537 15.1086C9.49481 15.3635 11.7686 19.3306 15.5141 20.9395C17.7156 21.8879 18.6806 22.0507 19.3063 22.0507C19.5642 22.0507 19.7587 22.0236 19.9622 22.0115C20.6483 21.9693 22.1969 21.1762 22.5346 20.3137C22.8724 19.4512 22.895 18.6973 22.806 18.5465C22.7171 18.3957 22.4728 18.2872 22.1049 18.0942C21.737 17.9012 19.9321 16.9361 19.5928 16.8004C19.467 16.7419 19.3316 16.7066 19.1932 16.6964C19.1031 16.7011 19.0155 16.7278 18.938 16.774C18.8605 16.8203 18.7954 16.8847 18.7484 16.9618C18.4469 17.3372 17.7548 18.153 17.5225 18.3882C17.4718 18.4466 17.4093 18.4938 17.3392 18.5265C17.2691 18.5592 17.1928 18.5768 17.1154 18.5782C16.9728 18.5719 16.8333 18.5344 16.7068 18.4681C15.6135 18.0038 14.6167 17.339 13.768 16.5079C12.975 15.7263 12.3022 14.8315 11.7716 13.8526C11.5666 13.4726 11.7716 13.2766 11.9586 13.0987C12.1456 12.9208 12.3461 12.675 12.5391 12.4624C12.6975 12.2808 12.8295 12.0777 12.9312 11.8593C12.9838 11.7578 13.0104 11.6449 13.0085 11.5307C13.0067 11.4165 12.9765 11.3045 12.9206 11.2048C12.8317 11.0149 12.1667 9.14664 11.8546 8.39725C11.6013 7.75642 11.2997 7.73531 11.0358 7.7157C10.8187 7.70062 10.5699 7.69309 10.3211 7.68555H10.2894 fillcurrentColor>/path>/svg>/a>/div> !-- Callback Modal --> div idcallbackModal classcallback-modal> div classcallback-modal-content> span classcallback-close>×/span> h2 classcallback-title>Создаим Ваш дизайн/h2> form idcallbackForm classcallback-form> input typehidden nameform_type valuecallback> div classform-group> label forcallbackName classform-label>Ваше имя */label> input typetext idcallbackName namename required classform-input placeholderВведите ваше имя> span classerror-message idcallbackNameError>/span> /div> div classform-group> label forcallbackPhone classform-label>Телефон */label> input typetel idcallbackPhone namephone required classform-input placeholder+7 (999) 999-99-99> span classerror-message idcallbackPhoneError>/span> /div> div classform-group> label forcallbackEmail classform-label>Email (необязательно)/label> input typeemail idcallbackEmail nameemail classform-input placeholderexample@mail.ru> span classerror-message idcallbackEmailError>/span> /div> div classform-group> label forcallbackMessage classform-label>Комментарий (необязательно)/label> textarea idcallbackMessage namemessage rows3 classform-textarea placeholderНапример: Интересует набор для выращивания помидоров>/textarea> /div> button typesubmit classcallback-submit-btn>Заказать звонок/button> /form> /div> /div> !-- Yandex.Metrika counter -->script typetext/javascript> (function(m,e,t,r,i,k,a){ mimi||function(){(mi.ami.a||).push(arguments)}; mi.l1*new Date(); for (var j 0; j document.scripts.length; j++) {if (document.scriptsj.src r) { return; }} ke.createElement(t),ae.getElementsByTagName(t)0,k.async1,k.srcr,a.parentNode.insertBefore(k,a) })(window, document,script,https://mc.yandex.ru/metrika/tag.js?id105089665, ym); ym(105089665, init, {ssr:true, webvisor:true, clickmap:true, ecommerce:dataLayer, accurateTrackBounce:true, trackLinks:true});/script>noscript>div>img srchttps://mc.yandex.ru/watch/105089665 styleposition:absolute; left:-9999px; alt />/div>/noscript>!-- /Yandex.Metrika counter -->script>document.addEventListener(DOMContentLoaded, function() { const video document.getElementById(header-video); // Пытаемся запустить воспроизведение function playVideo() { video.play().catch(function(error) { console.log(Автовоспроизведение заблокировано:, error); // Показываем кнопку для ручного запуска showPlayButton(); }); } // Функция для показа кнопки воспроизведения function showPlayButton() { const playButton document.createElement(button); playButton.innerHTML ▶ Воспроизвести видео; playButton.className video-play-button; playButton.style.cssText ` position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; padding: 12px 24px; background: rgba(255,255,255,0.8); border: none; border-radius: 4px; cursor: pointer; font-size: 16px; `; playButton.addEventListener(click, function() { video.play(); playButton.remove(); }); document.querySelector(.header).appendChild(playButton); } // Запускаем видео когда оно готово video.addEventListener(loadeddata, function() { playVideo(); }); // Альтернативный способ - запуск после взаимодействия с пользователем document.addEventListener(click, function() { if (video.paused) { video.play(); } }, { once: true }); // Сработает только один раз});/script> script> // Mobile Menu document.addEventListener(DOMContentLoaded, function() { const mobileMenuBtn document.querySelector(.mobile-menu-btn); const navMenu document.querySelector(.nav-menu); const dropdowns document.querySelectorAll(.dropdown); mobileMenuBtn.addEventListener(click, () > { navMenu.classList.toggle(active); }); // Dropdown for mobile dropdowns.forEach(dropdown > { const link dropdown.querySelector(a); link.addEventListener(click, (e) > { if (window.innerWidth 768) { e.preventDefault(); dropdown.classList.toggle(active); } }); }); // Close menu when clicking outside document.addEventListener(click, (e) > { if (!e.target.closest(nav) && window.innerWidth 768) { navMenu.classList.remove(active); dropdowns.forEach(dropdown > { dropdown.classList.remove(active); }); } }); // Карусель const track document.querySelector(.carousel-track); const slides document.querySelectorAll(.carousel-slide); const dots document.querySelectorAll(.carousel-dot); let currentSlide 0; function updateCarousel() { track.style.transform `translateX(-${currentSlide * 100}%)`; dots.forEach((dot, index) > { dot.classList.toggle(active, index currentSlide); }); } dots.forEach((dot, index) > { dot.addEventListener(click, () > { currentSlide index; updateCarousel(); }); }); // Автопереключение карусели setInterval(() > { currentSlide (currentSlide + 1) % slides.length; updateCarousel(); }, 5000); // FAQ аккордеон const faqQuestions document.querySelectorAll(.faq-question); faqQuestions.forEach(question > { question.addEventListener(click, () > { const answer question.nextElementSibling; const toggle question.querySelector(.faq-toggle); answer.classList.toggle(active); toggle.classList.toggle(active); }); }); // Callback Modal const modal document.getElementById(callbackModal); const openModalButtons document.querySelectorAll(.open-callback-modal); const closeModalButton document.querySelector(.callback-close); const callbackForm document.getElementById(callbackForm); // Открытие модального окна openModalButtons.forEach(button > { button.addEventListener(click, () > { modal.style.display block; document.body.style.overflow hidden; // Блокируем прокрутку фона }); }); // Закрытие модального окна closeModalButton.addEventListener(click, () > { modal.style.display none; document.body.style.overflow auto; // Восстанавливаем прокрутку }); // Закрытие модального окна при клике вне его window.addEventListener(click, (e) > { if (e.target modal) { modal.style.display none; document.body.style.overflow auto; } }); // Phone input mask const phoneInput document.getElementById(callbackPhone); if (phoneInput) { phoneInput.addEventListener(input, function(e) { let value e.target.value.replace(/\D/g, ); if (value.length > 0) { if (value.length 1) { value +7 ( + value; } else if (value.length 4) { value +7 ( + value.slice(1, 4); } else if (value.length 7) { value +7 ( + value.slice(1, 4) + ) + value.slice(4, 7); } else if (value.length 9) { value +7 ( + value.slice(1, 4) + ) + value.slice(4, 7) + - + value.slice(7, 9); } else { value +7 ( + value.slice(1, 4) + ) + value.slice(4, 7) + - + value.slice(7, 9) + - + value.slice(9, 11); } } e.target.value value; }); } // Form validation function validateCallbackField(field, errorElement) { const value field.value.trim(); if (field.hasAttribute(required) && !value) { if (errorElement) { errorElement.textContent Это поле обязательно для заполнения; } field.style.borderColor #e74c3c; return false; } if (field.type tel && value) { const phoneRegex /^\+7\s\(\d{3}\)\s\d{3}-\d{2}-\d{2}$/; if (!phoneRegex.test(value)) { if (errorElement) { errorElement.textContent Введите корректный номер телефона; } field.style.borderColor #e74c3c; return false; } } if (errorElement) { errorElement.textContent ; } field.style.borderColor #4a7c20; return true; } // Real-time validation if (callbackForm) { const callbackInputs callbackForm.querySelectorAll(inputrequired); callbackInputs.forEach(input > { const errorElement document.getElementById(input.id + Error); input.addEventListener(blur, function() { validateCallbackField(input, errorElement); }); input.addEventListener(input, function() { if (errorElement && errorElement.textContent) { validateCallbackField(input, errorElement); } // Убираем красную обводку при вводе if (input.style.borderColor rgb(231, 76, 60)) { input.style.borderColor #ddd; } }); }); // Form submission callbackForm.addEventListener(submit, async function(e) { e.preventDefault(); console.log(Form submitted); // Validate all required fields let isValid true; const requiredFields callbackForm.querySelectorAll(inputrequired); requiredFields.forEach(field > { const errorElement document.getElementById(field.id + Error); if (!validateCallbackField(field, errorElement)) { isValid false; } }); if (!isValid) { showCallbackMessage(Пожалуйста, заполните все обязательные поля правильно, error); return; } // Submit form const formData new FormData(callbackForm); const submitBtn callbackForm.querySelector(.callback-submit-btn); const originalText submitBtn.textContent; submitBtn.disabled true; submitBtn.textContent Отправка...; try { console.log(Sending request...); // Используем message_save.php который уже работает const response await fetch(message_save.php, { method: POST, body: formData }); console.log(Response received:, response); const result await response.json(); console.log(Result:, result); if (result.success) { showCallbackMessage(✅ Ваша заявка принята! Мы перезвоним вам в указанное время., success); callbackForm.reset(); // Auto close after 3 seconds setTimeout(() > { callbackModal.style.display none; document.body.style.overflow auto; clearCallbackMessages(); }, 3000); } else { showCallbackMessage(❌ Ошибка: + (result.error || Неизвестная ошибка), error); } } catch (error) { console.error(Fetch error:, error); showCallbackMessage(❌ Ошибка сети: + error.message, error); } finally { submitBtn.disabled false; submitBtn.textContent originalText; } }); } // Message functions function showCallbackMessage(text, type) { clearCallbackMessages(); const message document.createElement(div); message.className `callback-message ${type}`; message.textContent text; const submitBtn callbackForm.querySelector(.callback-submit-btn); callbackForm.insertBefore(message, submitBtn); } function clearCallbackMessages() { const messages callbackForm.querySelectorAll(.callback-message); messages.forEach(msg > msg.remove()); }}); /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]