Скопировать/вставить в JavaScript?

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

Я реализовал свое собственное меню, чтобы предоставить пользователю способность Сократить, Скопировать и Вставить в мой WebApp. Но я не уверен, как на самом деле работать с буфером обмена на Firefox, IE, Safari/Chrome.

Спасибо за помощь.

6
задан thedp 23 December 2009 в 09:53
поделиться

1 ответ

did u try : http://ericphan.info/development/cross-browser-copy-and-paste-with-jquery-copy/

UPDATE: ссылка недоступна, поэтому я копирую содержимое из кэша :

The Scenario

I was working on a client project for SSW when the client reported a bug in the web app.

The bug involved a dynamically generated mailto link that got updated when you selected multiple employees. Клиент сообщал об ошибке, когда он выбрал более 10 сотрудников. В почтовом клиенте Lotus Notes появилась ошибка, говорящая:

Ошибка обработки аргументов командной строки

Тестировав это самостоятельно, я обнаружил, что Outlook 2007 может легко поддерживать почту 30-40 сотрудников до того, как ссылка mailto перестанет работать. Причина

Оказывается, что спецификация mailto имеет лимит, а почтовые клиенты также имеют лимит. Lotus Notes обрабатывает только 240 символов в ссылке mailto, и другие современные почтовые клиенты, такие как Outlook 2007, поддерживают 2083 символа - максимальную длину URL

Это объясняет несоответствие в тестировании. Исправление - JQuery to the rescue

Так как это ограничение HTML-спецификации, нам нужно было другое решение для удовлетворения требования клиента "Я хочу иметь возможность выбирать нескольких сотрудников и отправлять письма всем"

Мы могли бы создать форму электронной почты, которая использовала бы SMTP для отправки писем - но клиент хотел использовать Lotus Notes в качестве почтового клиента.

В итоге мы изменили кнопку "email", чтобы скопировать все письма (разделенные запятыми) в буфер обмена, и открыли новое окно электронной почты. Все, что нужно было сделать клиенту, это нажать CTRL + V и вставить письма в поле TO. Это было самое быстрое и экономичное решение, которое дало клиенту возможность использовать свой собственный почтовый клиент.

Существует плагин JQuery под названием jquery.copy, который обеспечивал перекрестное копирование и вставку браузером с помощью flash-файла (swf). Это похоже на то, как работает подсветка синтаксиса в моем блоге.

Как только вы ссылаетесь на файл jquery.copy.js, все, что вам нужно сделать для вставки данных в буфер обмена, выполняется следующим образом:

$.copy("some text to copy");

Хорошо и просто ;)

Примечание: вам может понадобиться изменить путь к SWF файлу в jquery.copy.js, чтобы это заработало

.
1
ответ дан 16 December 2019 в 21:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: