tef*_*ozi 5 apache-flex clipboard paste
我有控制栏按钮复制,剪切和粘贴,他们想要从剪贴板复制/粘贴一些文本/对象.
复制/剪切工作正常.使用CTRL + V粘贴和上下文菜单也可以正常工作.
但是,当我试图通过控制栏按钮单击处理程序访问剪贴板时,它会抛出错误
SecurityError: Error #2179: The Clipboard.generalClipboard object may only be read while processing a flash.events.Event.PASTE event.
at flash.desktop::Clipboard/getObjectReference()
at flash.desktop::Clipboard/convertNativeFormat()
at flash.desktop::Clipboard/getOriginal()
at flash.desktop::Clipboard/getData()
... 2 more
Run Code Online (Sandbox Code Playgroud)
我知道这是安全问题.
方法Clipboard.generalClipboard.getData()可用于读取系统剪贴板的内容,但仅在从处理flash.events.Event.PASTE事件的事件处理程序中调用它时.
但我必须实现粘贴控制栏按钮.我这样做了吗?
我唯一能找到的是使用自定义上下文菜单进行粘贴的能力。您可以在此处找到有关如何执行此操作的示例。我尝试自己调度“粘贴”事件,播放器似乎以某种方式检测到粘贴来自上下文菜单或键盘 - 不完全确定它是如何做到这一点或为什么会这样。我希望其他人可以提供更多说明,但与此同时,上下文菜单是否有效?
更新:我认为没有任何方法可以强制粘贴事件。我一直在运行一些测试,似乎让此事件分派并允许在没有安全错误的情况下调用 Clipboard.generalClipboard.setContents 方法的唯一方法是响应全局粘贴事件,该事件只能分派“从上下文菜单或键盘事件(ctrl+V 或等效平台)安全地“”。抱歉。
| 归档时间: |
|
| 查看次数: |
6332 次 |
| 最近记录: |