【问题标题】:System.setClipboard() inside event handlerSystem.setClipboard() 内部事件处理程序
【发布时间】:2010-08-06 20:28:48
【问题描述】:
关于完成某事的好方法的任何想法
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()?
【问题讨论】:
标签:
flash
actionscript-3
urlloader
【解决方案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);
}
【解决方案2】:
供空气使用
Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT,"some Text value to clipboard");