С 1 ЯНВАРЯ ПОВЫШЕНИЕ ЦЕН
Tilda
Zero-блок
Стандартный блок
Autoscale: Да

Кнопка скопировать текст

0004
Эта модификация позволяет добавить на сайт Tilda кнопку, которая копирует любой указанный текст в буфер обмена — как это обычно реализовано для промокодов.

Решение подходит для промокодов, ссылок, технических данных, реквизитов, API-ключей и любых ситуаций, где пользователю нужно быстро скопировать информацию. Модификация работает в любых блоках Тильды, легко интегрируется в Zero Block и настраивается под дизайн проекта.
Новогодний промокод на всю продукцию
скопировать
NewYear20
sale 20%
❗️   ВАЖНО. Чтобы код работал на вашем сайте проверьте, что у вас включен jQuery в настройках сайта.

  Настройки сайта   ⟶ Вкладка   Еще   ⟶ Скроллим вниз и ставим галочку у «  Подключить jQuery на страницах сайта  »


❗️   ВАЖНО. Код работает как в zero-блоке, так и в стандартных.

1️⃣  ZERO-БЛОК
  • Добавляем весь контент в zero-блок.
  • Для элемента текста (это может быть как просто текст, так и кнопка в которую вписан текст) — добавляем класс   .uc-copy-text  
  • Для кнопки, по нажатию на которую будет происходить копирование — задаем класс   .uc-btn-copy  

2️⃣  СТАНДАРТНЫЕ БЛОКИ
Для реализации на стандартных блоках, нам нужно будет добавить отдельно текст для копирования и кнопку
  • Для блока текста для копирования задаем класс —   .uc-copy-text  
  • Для блока кнопки —   .uc-btn-copy  

3️⃣  НИЖЕ ВСТАВЛЯЕМ КОД
<!-- Кнопка скопировать текст на Тильде
Студия веб-дизайна SHEINA – https://sheina-studio.ru/ -->


<!-- ====== ИНСТРУКЦИЯ ======
❗️   ВАЖНО. Код работает как в zero-блоке, так и в стандартных.

1️⃣  ZERO-БЛОК
Добавляем весь контент в zero-блок.
Для элемента текста (это может быть как просто текст, так и кнопка в которую вписан текст) — добавляем класс   .uc-copy-text  
Для кнопки, по нажатию на которую будет происходить копирование — задаем класс   .uc-btn-copy  

2️⃣  СТАНДАРТНЫЕ БЛОКИ
Для реализации на стандартных блоках, нам нужно будет добавить отдельно текст для копирования и кнопку
Для блока текста для копирования задаем класс —   .uc-copy-text  
Для блока кнопки —   .uc-btn-copy  

3️⃣  НИЖЕ ВСТАВЛЯЕМ КОД -->



<script>
    document.addEventListener('click', function (e) {
        const btn = e.target.closest('.uc-btn-copy');
        if (!btn) return;
    
        e.preventDefault();
    
        const textEl = document.querySelector('.uc-copy-text');
        if (!textEl) return;
    
        const text = textEl.innerText || textEl.textContent;
    
        // Копирование
        if (navigator.clipboard && navigator.clipboard.writeText) {
            navigator.clipboard.writeText(text).catch(()=>{});
        } else {
            const ta = document.createElement('textarea');
            ta.value = text;
            document.body.appendChild(ta);
            ta.select();
            document.execCommand('copy');
            ta.remove();
        }
    

        let textNode = Array.from(btn.childNodes)
            .find(node => node.nodeType === Node.TEXT_NODE && node.textContent.trim() !== "");
    
        if (!textNode) {
            textNode = btn.querySelector('*')
                ? Array.from(btn.querySelectorAll('*'))
                    .map(el => Array.from(el.childNodes)
                        .find(node => node.nodeType === Node.TEXT_NODE && node.textContent.trim() !== "")
                    )
                    .find(n => n)
                : null;
        }
    
        if (!textNode) return;
    
        const originalText = textNode.textContent.trim();
    
        // текст, который появляется после нажатия на кнопку скопировать (можете заменить на свой)
        textNode.textContent = 'Готово';
    
        setTimeout(() => {
            textNode.textContent = originalText;
        }, 2000);
    });
</script>

<style>
    .uc-btn-copy {
        cursor: pointer !important;
        
    }
</style>

Другие модификации

Made on
Tilda