Отмена выбора содержимого DIV (или текстовых полей) после выбора пользователем - PullRequest
0 голосов
/ 02 декабря 2010

Я хотел бы подготовить систему на основе javascript, которая отменяет выделение текста после того, как пользователь его выберет. Причина этого заключается в том, чтобы защитить некоторые статьи на моем сайте от кражи, просто нажав пару Ctrl + C. Я знаю, что всегда можно опустить это, но это немного сложнее. Более того, я не могу использовать jQuery при написании этого скрипта. Что вы предлагаете?

1 Ответ

5 голосов
/ 02 декабря 2010

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

При этом IE, Chrome и Safari поддерживают событие onselectstart, который можно отменить:

element.onselectstart = function () { return false; }

Firefox поддерживает свой собственный стиль CSS, -moz-user-select, который создает впечатление, что текст не выделен, но не отключает его полностью:

#element {
    -moz-user-select: none;
}

Однако для Firefox, Opera и других браузеров нет другого решения, кроме как отменить события mousedown, double click и key.Не будет никакого способа захватить и заблокировать «выбрать все» в меню браузера.

...