2016-07-12 7 views
1

Можете ли вы рассказать мне, как я могу просто получить текст, который скопирован в буфер обмена. Я не хочу делать копию, потому что данные копируются из Excel. В IE я использую:Javascript Just Получить скопированный текст из буфера обмена в Chrome

var clipText = window.clipboardData.getData('Text'); 

И это работа совершенна. Возможно ли это в хроме? или, может быть, Firefox?

Спасибо за заранее

+0

Возможный дубликат [Как вставить на клик? Он работает в документах google] (http://stackoverflow.com/questions/34470272/how-to-paste-on-click-it-works-in-google-docs) – GSerg

ответ

5

window.clipboardData объекта доступно только в IE. Похоже, для меня большая уязвимость в отношении безопасности веб-сайта для доступа к вашим данным буфера обмена, особенно без вашего ведома. В соответствии со спецификацией, это в основном не рекомендуется, так как Microsoft Edge.

Вместо этого, вы можете получить доступ к данным, слушая paste событие:

document.addEventListener('paste', function (event) { 
    var clipText = event.clipboardData.getData('Text'); 
}); 
+1

Итак, пользователи вынуждены делать ctrl + V Навигатор для этого я могу получить данные? – clementine

+0

@clementine Да, чтобы ваше приложение не позволяло красть потенциально конфиденциальную информацию из буфера обмена конечного пользователя, не зная. –

0

Если вы ищете, чтобы использовать JQuery и привязать элемент к «пасты» события, то вы можете получить доступ к данным из буфера обмена с помощью свойство originalEvent на вызывающем событии.

Проверьте объект окна, чтобы узнать, не является ли файл clipboardData неопределенным. Это будет означать, что вы не в IE или Edge.

this.bind('paste', function(e){ 
if (window.clipboardData === undefined) 
    clipText = e.originalEvent.clipboardData.getData('Text') // use this method in Chrome to get clipboard data. 
else 
    clipText = window.clipboardData.getData('Text') // use this method in IE/Edge to get clipboard data. 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^