Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.04.2014, 13:55
AlecoZAV вне форума Посмотреть профиль Отправить личное сообщение для AlecoZAV Найти все сообщения от AlecoZAV
  № 1  
Ответить с цитированием
AlecoZAV

Регистрация: Nov 2013
Сообщений: 11
Attention AS3 и буфер обмена

Есть необходимость в текстовое поле вставлять текст из буфера, текстовое поле должно быть нередактируемым.
Я хотел сделать вставку по кнопке
Код AS3:
		private function clip(e:Event) {
			if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ 
				tfa.text = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT).toString;
			}
		}
вызывать пытался
Код AS3:
tfa.addEventListener(Event.PASTE, clip);
tfa.dispatchEvent(new Event(Event.PASTE));
выдает ошибку безопасности

SecurityError: Error #2179: The Clipboard.generalClipboard object may only be read while processing a flash.events.Event.PASTE event.

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

Старый 22.04.2014, 11:11
AlecoZAV вне форума Посмотреть профиль Отправить личное сообщение для AlecoZAV Найти все сообщения от AlecoZAV
  № 2  
Ответить с цитированием
AlecoZAV

Регистрация: Nov 2013
Сообщений: 11
Обойти пока не смог, появились новые вопросы
Код AS3:
			tfa.multiline = true;
			tfa.wordWrap = true;
			tfa.type = TextFieldType.INPUT;
			wal.addChild(tfa);
			tfa.addEventListener(Event.PASTE, aa);
 
 
		private function aa(e:Event) {
			trace(123321);
		}
1. При вставке многострочного текста вставляется одной строкой, в другие программы вставляется этот текст нормально
2. При вставке текста в поле tfa не отрабатывает событие Paste, в функции аа не заходит

В чем может быть проблема?

Старый 22.04.2014, 11:39
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 3  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
"The Clipboard.generalClipboard object may only be read while processing a flash.events.Event.PASTE event." совершенно правильное ограничение безопасности. Представьте, заходите вы на сайт, а там баннер, вас не спросив, читает ваш буфер обмена.

Старый 22.04.2014, 12:05
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Примечание. Объектами TextField не отправляются события clear, copy, cut, paste или selectAll. Объекты TextField в контекстном меню всегда включают команды «Вырезать», «Скопировать», «Вставить» и «Выбрать все». Удалить эти команды из контекстного меню для объектов TextField невозможно. Для объектов TextField выбор этих команд (или сочетаний клавиш, эквивалентных элементу меню) не приводит к генерации событий clear, copy, cut, paste или selectAll. Однако другие классы, которые распространяют класс InteractiveObject, включая компоненты, построенные, используя текстовую Службу Flash (FTE), отправят эти события в ответ на операции пользователя, например, комбинации клавиш и контекстные меню.

Добавлено через 5 минут
Чем Вас не устраивает Event.CHANGE?
__________________
Reality.getBounds(this);

Старый 22.04.2014, 14:42
AlecoZAV вне форума Посмотреть профиль Отправить личное сообщение для AlecoZAV Найти все сообщения от AlecoZAV
  № 5  
Ответить с цитированием
AlecoZAV

Регистрация: Nov 2013
Сообщений: 11
Цитата:
Сообщение от bav Посмотреть сообщение
"The Clipboard.generalClipboard object may only be read while processing a flash.events.Event.PASTE event." совершенно правильное ограничение безопасности. Представьте, заходите вы на сайт, а там баннер, вас не спросив, читает ваш буфер обмена.
я не спорю, правильное, с этим уже разобрался)

Добавлено через 3 минуты
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Чем Вас не устраивает Event.CHANGE?
а чем мне это событие поможет? мне надо обработать текст из буфера ДО вставки

PS. Заметил, если текст, который надо вставить сначала скопировать в блокнот, а потом из блокнота в поле tfa, то вставляется корректно, а не одной строкой
Копируется первоначальный текст из флеша кстати

Добавлено через 5 минут
И еще, если обработчик Event.PASTE привязывать не к tfa а к спрайту или стагу, эффект тот же, в процедуру обработки входа нет

Старый 22.04.2014, 23:01
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
а чем мне это событие поможет? мне надо обработать текст из буфера ДО вставки
А Event.PASTE чем поможет? Оно происходит ДО того, как текст будет вставлен? Как TextEvent.INPUT? Что-то в хелпе я такого не нашел.

Добавлено через 3 минуты
Цитата:
Заметил, если текст, который надо вставить сначала скопировать в блокнот, а потом из блокнота в поле tfa, то вставляется корректно, а не одной строкой
Копируется первоначальный текст из флеша кстати
Потому что флэш делает перенос строки по одному символу переноса, а винда — по двум.
__________________
Reality.getBounds(this);

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:32.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.