Как Google Docs удается заставить работать вставку по клику?

Я хотел бы реализовать функцию вставки по щелчку, аналогичную той, что используется в Google Docs.

Я могу заставить вставку работать, когда она инициируется пользователем через контекстное меню или с помощью сочетания клавиш (используя событие onpaste и друзей), но я не могу понять, как заставить срабатывание стиля вставки при нажатии вызывать содержимое системного буфера обмена для вставки - и, судя по тому, что я читал, на самом деле это не должно быть возможно!

Кто-нибудь знает, как Google делает эту работу? :-)


person mjtko    schedule 03.04.2012    source источник


Ответы (2)


Вы читали эту статью, которая объясняет доступ к буферу обмена в разных браузерах? Доступ к Документам Google и буферу обмена

person epascarello    schedule 03.04.2012
comment
Спасибо за указание на эту статью - я читал ее ранее и перечитал. При тестировании ранее мне казалось, что Firefox не работает так, как описано (я тестировал под 11.0 на OSX), хотя теперь я пересматриваю его, он работает именно так, как описано. Я думаю, что, должно быть, немного неправильно истолковал это - я прочитал все еще доступно в меню «Правка» как меню редактирования браузера, а не приложения. Так что, действительно, вставка по клику с использованием сегодняшних технологий невозможна! - person mjtko; 04.04.2012

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

Нельзя ли эмулировать нажатие клавиши [Ctrl]+[V]? Он будет работать в большинстве браузеров и ОС, но всегда помните, что эти ключи можно изменить на уровне ОС в любое время.

Любое решение, отличное от такого обходного пути, иногда может быть слишком громоздким для вашего скрипта, а бывают случаи, когда вы просто не хотите иметь слишком много событий/слушателей.

person Victor Nițu    schedule 03.04.2012
comment
Спасибо за предложение, Виктор, хотя это только отправит Ctrl + V (или аналогичный) в документ, а не вызовет то, что фактически является действием ОС. - person mjtko; 04.04.2012
comment
Смотрите, я наткнулся на хорошую статью на эту тему: brooknovak.wordpress.com/2009/07/28/ - person Victor Nițu; 04.04.2012
comment
Да, я действительно прошу вас вернуться и поделиться результатами и методами, если что-то получится. Я могу предвидеть эту проблему как одну из моих собственных в ближайшем будущем, так что это было бы очень полезно. ТИА. - person Victor Nițu; 04.04.2012
comment
Извините, щелчок и вставка невозможен с сегодняшними стандартами, хотя это с оговорками - это возможно в Chrome, если вы хотите создать автономное приложение (которое имеет другие правила песочницы), но я надеялся использовать сеть шире, чем это, и в моем случае автономное приложение невозможно. - person mjtko; 04.04.2012