System.setClipboard()在事件处理程序中

时间:2010-08-06 20:28:48

标签: flash actionscript-3 urlloader

对于完成某些事情的好方法的任何想法

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);
});

在动作3中?

似乎System.setClipboard()在事件处理程序中不可用(根据我对Flash安全性的了解,这至少有一定意义)。

有没有办法:

  • 让它上班?
  • 或阻止URL加载,以便我可以在主事件流中调用setClipboard()?

2 个答案:

答案 0 :(得分:1)

唯一的解决方案是向用户显示一些警报(或其他UI)并等待点击:

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 :(得分:1)

供AIR使用

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