【问题标题】: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");
      

      【讨论】:

      • 这对我有用,即使不受用户控制,这很棒。
      猜你喜欢
      • 1970-01-01
      • 2013-05-30
      • 2023-03-09
      • 1970-01-01
      • 2020-04-02
      • 1970-01-01
      • 1970-01-01
      • 2018-01-25
      • 2016-12-18
      相关资源
      最近更新 更多