Я расстроен тем, насколько далеко позади других стандартных веб-интерфейсов мы имеем доступ к буферам обмена.
Я работаю над webapp, который позволяет рисовать и редактировать графику SVG в браузере. API файлов позволяет загружать и читать файл SVG полностью на стороне клиента, и API SVG, очевидно, позволяет мне отображать графику SVG.
Но невозможно получить что-либо, что я вытащил из браузера и вставить его, скажем, в Photoshop, как вы можете, когда вы копируете что-то в Illustrator.
W3C отрицает возможность манипулирования событиями копирования по причине безопасности:
Включение авторов для изменения того, что копируется пользователем, или для создания автоматическая копия того, что никогда не было выбрано и позволяющее неограниченные вызовы для вставки информации могут повысить безопасность и проблемы конфиденциальности.
Пример сценария проблемы - это выбор пользователем ссылки и копирует его, но в буфер обмена копируется другая ссылка. Эффект это может варьироваться от неожиданного результата при вставке в попытку атака "фишинг".
Источник: http://www.w3.org/TR/clipboard-apis/#other-security-and-privacy-considerations
Однако геолокация, которая так же важна для безопасности/конфиденциальности, поддерживается новейшими браузерами с простым диалоговым окном разрешений.
Почему мы не можем использовать одно и то же для копирования в буфер обмена? Это может быть даже ограничено требованием CTRL + C, чтобы избежать злоупотреблений.
"so-and-so.com хочет управлять данными, которые вы копируете. [Разрешить] [Отклонить]"
Пользователи могут разрешить его один раз для webapp, которому они доверяют, и получить больше от него навсегда. И разработчики могли делать больше интересных вещей в Интернете.
Недавнее принятие вставки захвата дает мне некоторую надежду. Я абсолютно люблю то, что я могу сделать с этим на imgur, например. (Попробуйте скопировать изображение в ОС и вставить его на главной странице imgur).
Есть ли вероятность того, что я описал возможность копирования? Это вообще работает?