apache-flex - 使用按钮从剪贴板粘贴文本

标签 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

我知道这是安全问题。

Method Clipboard.generalClipboard.getData() may be used to read the contents of the system Clipboard, but only when it is called from within an event handler processing a flash.events.Event.PASTE event.



但我必须实现粘贴控制栏按钮。我必须这样做吗?

最佳答案

为了克服 Flash Player 强加的这种安全限制,您可以使用 Flash 本地共享对象模拟系统剪贴板的功能,就像这里最初建议的那样http://joeberkovitz.com/blog/2008/12/12/clipboard-using-local-shared-objects/或通过 ExternalInterface 使用 Javascript API 从剪贴板检索数据。

关于apache-flex - 使用按钮从剪贴板粘贴文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1828045/

相关文章:

wpf - 比较剪贴板中的 IDataObject

windows - 剪贴板复制操作 - 内容是谁的文件?

java - 用于跨程序复制/粘贴的用户定义字符串

excel - 范围上的 PasteSpecial 方法失败

flash - 在 Flex Web 应用程序中获取 url 参数

apache-flex - 如何在FlexBuilder的构建路径中添加相对路径?

apache-flex - 缩放 Flex 对象导致旋转行为异常

flash - Actionscript:为什么可以在声明之前分配变量?

Javascript/HTML 不使用 flash 复制到剪贴板

C# - 剪贴板 Hook 检查正在复制的数据是真的图像还是文本?