Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Программный доступ к буферу обмена (https://javascript.ru/forum/events/43857-programmnyjj-dostup-k-buferu-obmena.html)

iwtn 24.12.2013 07:48

Программный доступ к буферу обмена
 
Привет.

Очень классный сайт, много информации, чувствуется делался профессионалами. У меня такой вопрос к знатокам javascript:

Есть ли возможность в каком-либо браузере получить программный доступ к буферу обмена ОС средствами Javascript? Интересует все браузеры.

Знаю что в Internet Explorer есть такая опция и по моему она выключена по умолчанию как и следует. А как с другими браузерами?

Может сам Илья Кантор ответит, мало ли какие есть подводные камни, а опытный человек всегда знает больше чем многие другие?

cyber 24.12.2013 10:38

Цитата:

Сообщение от iwtn
Очень классный сайт, много информации, чувствуется делался профессионалами. У меня такой вопрос к знатокам javascript:

Хорошая попытка:)
Цитата:

Сообщение от iwtn
Может сам Илья Кантор ответит, мало ли какие есть подводные камни, а опытный человек всегда знает больше чем многие другие?

Цитата:

Сообщение от iwtn
Есть ли возможность в каком-либо браузере получить программный доступ к буферу обмена ОС средствами Javascript?

Только через флэш.

danik.js 24.12.2013 11:22

Цитата:

Сообщение от iwtn
Может сам Илья Кантор ответит, мало ли какие есть подводные камни, а опытный человек всегда знает больше чем многие другие?

Ого, может мы тогда в сторонке постоим, чтобы не мешать, а?

iwtn 24.12.2013 12:55

Цитата:

Сообщение от cyber (Сообщение 288844)
Только через флэш.

Всё-таки через флэш можно. А как можно запретить в настройках Flash Player в принципе такую возмоность? А то что-то в менеджере настроек Flash Player такого нет. Или запретить нельзя и любой сайт без ведома может получить через флэш доступ к системному буферу обмена?


Цитата:

Сообщение от danik.js (Сообщение 288850)
Ого, может мы тогда в сторонке постоим, чтобы не мешать, а?

Не, лучше скажите пару слов :yes:

cyber 24.12.2013 13:13

iwtn, не знаю, я в флеше не шарю, я знаю что через можно:)

danik.js 24.12.2013 13:26

Цитата:

Сообщение от iwtn
Есть ли возможность в каком-либо браузере получить программный доступ к буферу обмена ОС средствами Javascript? Интересует все браузеры.

Ну по событиям cut/copy/paste, вызванным через сочетание либо из нативного контекстного меню доступ к буферу есть во всех браузерах.

А вот без события, например для реализации кастомного меню беда.
Насколько я знаю это позволяет IE (если не ошибаюсь - при первой попытке юзеру выдается окно подтверждения). Это также возможно в Хроме, но только если у пользователя установлено твое расширение (shift-edit.com например такое юзает). Во флэше помоему есть доступ на запись в буфер, но опять же только по событию самого флэша (то есть только по клику по флэшке - иначе никак). В файрфоксе доступ только для расширений. Про оперу вобще молчу )

iwtn 25.12.2013 11:20

Цитата:

Сообщение от danik.js (Сообщение 288874)
Ну по событиям cut/copy/paste, вызванным через сочетание либо из нативного контекстного меню доступ к буферу есть во всех браузерах.

А вот без события, например для реализации кастомного меню беда.
Насколько я знаю это позволяет IE (если не ошибаюсь - при первой попытке юзеру выдается окно подтверждения). Это также возможно в Хроме, но только если у пользователя установлено твое расширение (shift-edit.com например такое юзает). Во флэше помоему есть доступ на запись в буфер, но опять же только по событию самого флэша (то есть только по клику по флэшке - иначе никак). В файрфоксе доступ только для расширений. Про оперу вобще молчу )

Вообще я задал вопрос по безопасности в связи с тем, что в буфере обмена операционной системы может быть к примеру пароль случайно остаться, ну иногда копируешь и забываешь.

Т.е. интересно было есть ли возможность каким-либо образом прочитать системный буфер обмена у web-страничек которые посещаешь.

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

А вот что насчёт расширений FF и Chrome? Они что разве могут прочитать? Насколько я знаю в FF там же тот же javascript для написания расширений. Ну если выводится хотя бы сообщение о попытке прочитать системный буфер то тогда нормально, а вот если в silent-режиме, то это уже никуда не годится.

Вообще все браузеры по соображениям безопасности такую возможность предоставлять не должны, а если да то обязательно с выводом предупреждения. Но хотелось уточнить, мало ли какие есть "тайные проходы" :)

danik.js 25.12.2013 12:48

Цитата:

Сообщение от iwtn
Насколько я знаю в FF там же тот же javascript для написания расширений.

Ты что-то путаешь совсем. Сам язык не накладывает каких-либо ограничений типа доступа к буферу или файлам! Почитай ECMA спецификацию - там ни слова не сказано про буфер обмена или что-то вроде этого. Там только про синтаксис и базовые объекты Object Function Array и тд.
Про язык можно сказать что в нем нет классов, но сказать то что в нем нет доступа к буферу или что в нем нет доступа к чужим фреймам - это удел дилетантов.

Все зависит только от предоставляемого API со стороны окружения.
Почему бы расширениям не предоставить необходимые API ?

Цитата:

Сообщение от iwtn
Ну если выводится хотя бы сообщение о попытке прочитать системный буфер то тогда нормально, а вот если в silent-режиме, то это уже никуда не годится.

Мужык, ну ты еще скажи что нативные exe приложения должны обращаться к буферу только через алерт ))

Ты когда ставишь расширения - должен понимать что оно будет иметь доступ к твоему личному кабинету в онлайн-банке, к твоей vk-странице и тд. Нелепо в таких обстоятельствах бояться за буфер обмена.

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

ruslan_mart 25.12.2013 18:13

Если интересует по AS3, то вот:
http://help.adobe.com/ru_RU/ActionSc...33F4F0516.html

iwtn 25.12.2013 19:20

Цитата:

Сообщение от Ruslan_xDD
Если интересует по AS3, то вот:
http://help.adobe.com/ru_RU/ActionSc...33F4F0516.html

Там чего-то заумно написано, я не понял можно с помощью флэша в итоге прочитать системный буфер обмена? Т.е. скажем остался у меня там пароль к примеру я захожу на сайт какой-то и он его читает так что я и не знаю, без предупреждений. Такое возможно?


Часовой пояс GMT +3, время: 15:58.