![]() |
|
||||||||||
|
|||||
|
[+3 31.07.12]
[+1 27.08.13] |
У меня задача, создать флешку с методом, который сохраняет входящий параметр в буфер обмена.
Столкнулся с ошибкой Error: Error calling method on NPObject. Вызываю метод setValue у объекта EasyClipboard в консоли. document.EasyClipboard.setValue("Hello World!") Архив с примером в конце (тестировать с локального сервера). Флешка: обычная флешка 1 на 1 пиксель, main класс - EasyClipboard.as EasyClipboard.as package { import flash.external.* import flash.net.*; import flash.display.*; import flash.system.*; public class EasyClipboard extends Sprite { function EasyClipboard():void { ExternalInterface.marshallExceptions = true; ExternalInterface.addCallback("setValue", setValue); } function setValue (text:String) { System.setClipboard(text); } } }
__________________
Хоть ты эту красоту не назовёшь граблями, всё равно никогда не наступай на них. Последний раз редактировалось CyberDude; 27.09.2011 в 18:44. |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 43
|
По-моему нельзя так просто выполнить setToClipboard, из справки:
Цитата:
|
|
|||||
|
[+3 31.07.12]
[+1 27.08.13] |
Копирование в буфер обмена работает. Не работает ExternalInterface.addCallback
Добавлено через 51 минуту Прошу прощения, не разобрался! И в правду, копировать в буфер обмена не так просто. Кто может помочь? Добавлено через 3 часа 2 минуты Сейчас AS код выглядит так: package { import flash.external.* import flash.net.*; import flash.display.*; import flash.system.*; import flash.desktop.*; import flash.text.TextField; public class EasyClipboard extends MovieClip { public var my_text:TextField; public function EasyClipboard():void { stage.scaleMode = StageScaleMode.EXACT_FIT; ExternalInterface.marshallExceptions = true; ExternalInterface.addCallback("setValue", setValue); } public function setValue (val:String):Boolean { my_text.text = val; flash.system.Security.allowDomain("localhost"); Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, val); return true; } } } ![]()
__________________
Хоть ты эту красоту не назовёшь граблями, всё равно никогда не наступай на них. |
|
|||||
|
[+3 31.07.12]
[+1 27.08.13] |
Забыл отписаться после решения проблемы.
Проблема была в том что Flash работает с буфером обмена только в случае если пользователь на что-то нажимает (как я понял)Выход делать кнопку по нажатию на которую копируется некое содержимое кнопки. Примеров миллион. Нужен будет стучитесь)
__________________
Хоть ты эту красоту не назовёшь граблями, всё равно никогда не наступай на них. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|