Перейдите на следующий веб-сайт: www.currys.co.uk - и посмотрите на любой продукт. Вот телевизор например:
Теперь выберите название продукта («LED-телевизор PANASONIC VIERA TX-49DX650B Smart 4k Ultra HD 49»), и вы увидите маленькую коробочку, сообщающую вам, что у них есть услуга сравнения цен, явно в попытке остановить вас от поиска в Google продукта и найти его дешевле в другом месте.
Это очень умный кусок кода, и я действительно не жалуюсь, как его использует этот ритейлер, но меня огорчает, что веб-сайт знает, когда я копирую из него информацию. Как они это делают, и как я могу это остановить? Я знаю, что это не Flash-апплет, потому что у меня включена функция «нажми и работай».
javascript
чайка
источник
источник
addEventListener("copy",function(n){t=c.getString("tourguide.pricepromise.label"
Название помечено как Tourguide.PricePromise. Что приводит к тексту, который вы видите, когда копируете его.Ответы:
Они широко используют Ajax Javascript на своей веб-странице. Ajax способен контролировать буфер обмена.
Можно легко создать сценарий, чтобы проверить, скопирован ли заголовок в буфер обмена, и отобразить всплывающее окно, как они это сделали здесь.
Чтобы остановить это, отключите выполнение веб-сайтов на JavaScript. В зависимости от вашего браузера вы можете остановить его только на этом веб-сайте, но, пожалуйста, поймите, что веб-сайты, подобные этому, которые имеют настолько хороший встроенный javascript, перестанут работать правильно. Вы, вероятно, не сможете больше делать заказы на этом сайте, например.
источник
Глядя на код на странице, они используют Javascript для обнаружения метода копирования.
Если вы посмотрите на эту ссылку , есть хороший учебник о том, как реализовать эту функцию самостоятельно.
Из статьи (в случае, если ссылка когда-либо станет мертвой), будет работать что-то вроде этого:
Стоит отметить, что, изменяя ссылочный объект
$("#textA")
, с которым связаны действия, вы можете изменить, какие элементы вы обнаружите копию (например, привязку к DIV, диапазону, целой странице и т. Д.).Вы также можете изменить действие, изменив
$('span').text('copy behaviour detected!');
код внутри функции действия. Вместо этого вы можете использоватьalert('copy detected');
, вы можете вызвать функцию, показать (или скрыть) DIV, содержащий информацию, открыть всплывающее окно, очистить буфер обмена пользователя, чтобы скопированный текст на самом деле не копировал, почти все, что вам нравится.Чтобы остановить это, отключите Javascript. Однако, если вы сделаете это, больше ничего не будет работать. Глядя на код на веб-сайте Currys, он не отправляет обратно на скопированные вами серверы - поэтому, хотя веб-страница предупреждает вас о том, что вы копируете текст, владельцы веб-сайтов, похоже, не регистрируют и не записывают это где-либо
источник