Получить и установить буфер обмена с помощью JavaScript

Я видел несколько потоков, объясняющих, что Flash можно использовать для установки данных буфера обмена в Mozilla и Internet Explorer, это легко и т. д.

Например, Greasemonkey\Кнопка копирования JavaScript в буфер обмена

Однако я хотел бы прочитать буфер обмена и удалить определенные элементы перед его установкой. Есть какой-либо способ сделать это?

Итак.. Можно ли определить, происходит ли копирование и вставка? Затем перенаправить их на другой URL?


person Ke.    schedule 26.02.2010    source источник
comment
Рассмотрим сценарий, в котором пользователь просто скопировал свой пароль для входа в какой-то безопасный сервис в свой буфер обмена, а затем он случайно посетил вредоносный сайт, который использует JavaScript для сбора своего буфера обмена и AJAX-запроса для отправки его на сервер. Большой риск безопасности.   -  person Nathan Taylor    schedule 26.02.2010
comment
я думаю, это проблема безопасности для тех, кто копирует и вставляет свой пароль, но я не после этой информации. У меня вопрос можно ли это сделать?   -  person Ke.    schedule 26.02.2010
comment
Можно ли тогда определить, происходит ли копирование и вставка? Затем перенаправить их на другой URL?   -  person Ke.    schedule 26.02.2010
comment
Как бы вы это ни делали, убедитесь, что вы не стираете буфер обмена пользователя без разрешения. Предоставьте кнопку «Копировать/Вставить», которая вызывает ваше действие. например GitHub имеет небольшую кнопку копирования для URL-адреса только для чтения, который использует скрытый компонент flash.   -  person scunliffe    schedule 26.02.2010
comment
Если вы боитесь, что кто-то украдет контент, скопировав какой-либо URL-адрес, возможно, вам не следует размещать его в Интернете с самого начала.   -  person Alex Sexton    schedule 26.02.2010


Ответы (1)


Чтение буфера обмена является довольно большой проблемой безопасности. Даже если вы можете это сделать, это не считается дружественной тактикой, и я бы не советовал ее использовать, особенно если вы планируете изменить ее.

person Alex Sexton    schedule 26.02.2010
comment
+1 — IE — единственный известный мне браузер, который когда-либо позволял вам это делать, и я думаю, что даже они сейчас отказываются от него. - person Robusto; 26.02.2010
comment
да, я понимаю это, я думаю, это субъективная вещь. Я хочу заменить один символ, если кто-то скопирует мой URL. - person Ke.; 26.02.2010
comment
тогда почему приведенный выше скрипт позволяет вам установить буфер обмена в Mozilla? - person Ke.; 26.02.2010
comment
Он использует flash - в javascript нет решения для этого. Вот что говорит выбранный ответ в первом предложении. Если кто-то хочет скопировать ваш URL-адрес, он должен иметь возможность, так работают компьютеры. - person Alex Sexton; 26.02.2010