Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.10.2014, 15:37
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

Получение данных из буфера по ctrl + v
Здравствуйте.
Я хочу получить содержимое буфера (я знаю, что напрямую их получить нельзя). Я хочу получить данные именно тогда когда пользователь нажимает сочетание клавиш ctrl + v я знаю, что данные можно вставить в текстовое поле и оттуда их достать, но я хочу их получить не вставляя в текстовое поле.

К примеру пользователь нажал ctrl + v скрипт предотвращает действие браузера по умолчанию и получает данные с буфера.
Опять повторюсь, данные я хочу получить не из текстового поля, а из буфера.

МОжет быть есть возможно получить доступ к буферу по сочетанию клавиш ctrl + v
Ответить с цитированием
  #2 (permalink)  
Старый 17.10.2014, 15:38
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

Ведь по сути не опасно получить данные из буфера, если пользователь сам того желает
Ответить с цитированием
  #3 (permalink)  
Старый 18.10.2014, 00:13
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ну если поле редактируемое (т.е textarea/input или contenteditable) то тогда просто ловишь событие paste, и получаешь данные из clipboardData.
Ну это на словах просто, на деле куча проблем с кроссбраузерностью.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 18.10.2014, 01:54
Аватар для rekzi
Аспирант
Отправить личное сообщение для rekzi Посмотреть профиль Найти все сообщения от rekzi
 
Регистрация: 28.08.2013
Сообщений: 78

Доступ к буферу закрыт по соображениям безопасности. А если использовать редактируемые объекты как то input и прочее, то доступ к данным возможен через объект события как написал danik.js. Тебе нужно перед пользовательским вводом сфокусироваться (el.focus()) на скрытом элементе (за пределами экрана). Для стареньких браузеров можно вызывать функцию забирающую данные с input через интервал.
Ответить с цитированием
  #5 (permalink)  
Старый 18.10.2014, 17:14
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

Можно ли кроссбраузерно сфокусироваться в определенном месте? Т.е. если в поле имеется текст и фокус стоит посередине я при помощи JS изменил положение фокуса на другое поле и хочу обратно вернуть в тоже место.
Можно ли кроссбраузерно вернуть его?
Ответить с цитированием
  #6 (permalink)  
Старый 18.10.2014, 19:31
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Вроде можно. Если не нужна поддержка старых браузеров, можешь юзать clipboardData. Долгое время clipboard API отсутствовал в Firefox, но потом все-таки добавили. В старой опере его нет (там даже copy/paste событий кажется нет). В старых версиях хрома и Safari этот объект есть, но он сломан. В IE все ок по-моему, только старые (а может не только старые) версии не понимают записи getData('text/plain') (нужно getData('Text') )
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 18.10.2014, 20:33
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

danik.js,
Спасибо большое.

Кстати, а есть вообще какая либо статистика о том какие браузеры (о современных версиях я имею ввиду) на сегодняшний день используются большинством?
Ответить с цитированием
  #8 (permalink)  
Старый 18.10.2014, 21:28
Аватар для rekzi
Аспирант
Отправить личное сообщение для rekzi Посмотреть профиль Найти все сообщения от rekzi
 
Регистрация: 28.08.2013
Сообщений: 78

http://www.liveinternet.ru/stat/ru/b...l?period=month
Ответить с цитированием
  #9 (permalink)  
Старый 22.10.2014, 14:57
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от zhurchik
Ведь по сути не опасно получить данные из буфера, если пользователь сам того желает
Опасно. Ctrl+V не доказывает что было такое желание.
Ответить с цитированием
  #10 (permalink)  
Старый 22.10.2014, 16:19
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от kostyanet
Ctrl+V не доказывает что было такое желание
Вот вот:

Цитата:
Уважаемый юзер, нажми Ctrl+V чтобы получить печеньку!
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Получение данных строки грида при нажатии сторонней кнопки Allan Stark ExtJS 4 17.11.2011 19:21
Получение данных NeoMurderer AJAX и COMET 11 21.08.2011 14:46
Автоматическое получение данных из формы Beck jQuery 6 06.11.2009 18:01
[JavaScript] получение данных из адресной строки после знака # GiveMeABreak AJAX и COMET 2 16.09.2009 00:36