6

Я заметил, что некоторые сайты будут препятствовать тому, чтобы пользователи вставляли данные - от паролей до имен пользователей / электронных писем ко всему. Не обсуждая практику и рациональные / причины / против нее, каковы технические средства, с помощью которых веб-сайт мешает мне вставить данные в поле ввода текста?

Например, этот сайт не позволяет вставлять в поле "Введите адрес электронной почты". Как? Это мое предположение, что существуют различные способы реализации этого поведения?

Я использую Firefox 62.0.2 на OS X 10.11.6.

2 ответа2

6

Ответ: JavaScript

Посмотрите на исходный код страницы, на которую вы ссылаетесь.

<input type="text" size="30" maxlength="99" onkeydown="clearErrMsg(event)" onblur="validateEmail(false)" onpaste="SFDOMEvent.preventDefault(event);"
               id="fbclc_emailConf"
               name="fbclc_emailConf"
               value="" aria-required="true">

Он имеет SFDOMEvent.preventDefault(event); привязан к событию onpaste элемента ввода. preventDefault прервет действие, предотвращая поведение по умолчанию - вставку. Другие сайты будут использовать варианты этого.

4

Отключить копирование, вырезание или вставку в поле HTML очень просто:

Пример, который отключает все:

<input type="text" onselectstart="return false" onpaste="return false;" onCopy="return false" onCut="return false" onDrag="return false" onDrop="return false" autocomplete=off/>

Для получения дополнительной информации см. Предотвращение копирования, вырезания и вставки в поля ввода текста HTML.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .