Получение данных из буфера по ctrl + v
Здравствуйте.
Я хочу получить содержимое буфера (я знаю, что напрямую их получить нельзя). Я хочу получить данные именно тогда когда пользователь нажимает сочетание клавиш ctrl + v я знаю, что данные можно вставить в текстовое поле и оттуда их достать, но я хочу их получить не вставляя в текстовое поле. К примеру пользователь нажал ctrl + v скрипт предотвращает действие браузера по умолчанию и получает данные с буфера. Опять повторюсь, данные я хочу получить не из текстового поля, а из буфера. МОжет быть есть возможно получить доступ к буферу по сочетанию клавиш ctrl + v |
Ведь по сути не опасно получить данные из буфера, если пользователь сам того желает
|
Ну если поле редактируемое (т.е textarea/input или contenteditable) то тогда просто ловишь событие paste, и получаешь данные из clipboardData.
Ну это на словах просто, на деле куча проблем с кроссбраузерностью. |
Доступ к буферу закрыт по соображениям безопасности. А если использовать редактируемые объекты как то input и прочее, то доступ к данным возможен через объект события как написал danik.js. Тебе нужно перед пользовательским вводом сфокусироваться (el.focus()) на скрытом элементе (за пределами экрана). Для стареньких браузеров можно вызывать функцию забирающую данные с input через интервал.
|
Можно ли кроссбраузерно сфокусироваться в определенном месте? Т.е. если в поле имеется текст и фокус стоит посередине я при помощи JS изменил положение фокуса на другое поле и хочу обратно вернуть в тоже место.
Можно ли кроссбраузерно вернуть его? |
Вроде можно. Если не нужна поддержка старых браузеров, можешь юзать clipboardData. Долгое время clipboard API отсутствовал в Firefox, но потом все-таки добавили. В старой опере его нет (там даже copy/paste событий кажется нет). В старых версиях хрома и Safari этот объект есть, но он сломан. В IE все ок по-моему, только старые (а может не только старые) версии не понимают записи getData('text/plain') (нужно getData('Text') )
|
danik.js,
Спасибо большое. Кстати, а есть вообще какая либо статистика о том какие браузеры (о современных версиях я имею ввиду) на сегодняшний день используются большинством? |
|
Цитата:
|
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 20:50. |