2010-08-06 5 views
0

Любых мыслей о хорошем способе сделать что-то вдоль линийSystem.setClipboard() внутри обработчика событий

var request:URLRequest = new URLRequest("http://myurl.com"); 
var loader:URLLoader = new URLLoader(); 
loader.addEventListener(Event.COMPLETE, function(event:Event):void { 
System.setClipboard(loader.data); 
}); 

в ActionScript 3?

Похоже, что System.setClipboard() недоступен внутри обработчика события (что делает хотя бы некоторый смысл, учитывая то, что я знаю о безопасности Flash).

Есть ли способ:

  • получить его на работу?
  • или заблокировать загрузку URL-адреса, чтобы затем я мог вызвать setClipboard() в главном потоке событий?

ответ

1

Единственное решение, чтобы показать некоторые предупреждение (или другой интерфейс) для пользователя и ждать щелчка:

function completeHandler(event:Event):void 
{ 
    Alert.show("Click OK to copy text to clipboard", "Alert", 
     Alert.OK | Alert.CANCEL, this, 
     callback, null, Alert.OK); 
} 

function callback(event:CloseEvent):void 
{ 
    // Check to see if the OK button was pressed. 
    if (event.detail == Alert.OK) 
     System.setClipboard(loader.data); 
} 
1

Для использования AIR

Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT,"some Text value to clipboard"); 
+0

Это работает для меня, даже если не контролируется пользователем, что отлично. – Breign

Смежные вопросы