Наверняка вы сталкивались с ситуацией, когда при копировании текста с какого-то сайта после этого самого текста была ссылка на источник. С одной стороны, это раздражает, когда вы пишите реферат и вам не нужны источники в самом тексте, с другой - вы понимаете, что это способ создателя сайта, с которого вы текст скопировали, оставить информацию о своем авторском праве.

Когда вы становитесь владельцем собственного сайта, то уже думаете о том, как добавить  ссылку на ваш сайт уже при копировании вашего текста. Как будет видно из этой статьи, сделать это довольно просто с помощью JavaScript, да еще и двумя способами.

Способ 1. Используем метод window.getSelection()

Вставить ссылку на сайт и/или копирайт можно на основе JavaScript-кода с помощью метода window.getSelection().

Сначала мы получаем скопированный текст, вставляем его в div, сгененированный "на лету" с помощью метода document.createElement(), но при этом еще добавляем в него текст со ссылкой на ваш сайт. В этом нам поможет замечательный объект window.location.

Этот div, кстати, нельзя увидеть за счет добавленных к нему свойств в виде абсолютного позиционирования и координатой left с большим смещением влево за пределы браузера.

Затем мы сразу удаляем сгенерированный div, но человек, скопировавший текст, уже получает его с нашей "добавкой"-ссылкой.

Кстати, происходят все эти действия при обработке события oncopy.

Вместо свойства location.href можно использовать свойство document.URL.

Способ 2. Используем метод event.clipboardData.setData()

Для события oncopy можно получить данные о копировании. Для этого в объекте Event есть свойство clipboardData и метод setData(), позволяющий добавить  текст или html-разметку в зависимости от типа данных, из скопированного текста в буфер обмена. На основе использования этого метода мы также можем сгенерировать ссылку на наш сайт.

JavaScript-код для добавления ссылки на сайт:

Здесь, как вы видите, мы тоже используем метод window.getSelection() для получения скопированного текста.

Попробуйте скопировать текст этой статьи и вставить в какой-нибуть текстовый файл. Вы также увидите ссылку на данную статью :))

Вместо резюме

Если вы предоставляете какую-то общеизвестную информацию, задумайтесь, стоит ли внедрять этот код для массы людей, которые будут эту информацию копировать, например, в учебных целях. Другое дело, если у вас новостной сайт или сайт с уникальным контентом.

 

Автор: Админ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *