我注意到,当我使用基于 Flash 的文件选择(例如下面的文件选择)时,我无法使用 CMD+V 粘贴到文件选择位置对话框中。
重现问题的步骤
访问任何基于 Flash 的文件选择对话框,例如此上传器:
http://developer.yahoo.com/yui/examples/uploader/uploader-simple-button.html
点击选择文件
按 CMD+Shift+G 调出“转到文件夹”对话框
尝试使用 CMD+V 粘贴某些内容。没有任何反应。
在文件位置框内单击鼠标右键,然后选择“粘贴”。粘贴效果很好。
笔记
我知道出于安全原因,Flash 对访问剪贴板有一定的限制。但是,在这里使用这个限制似乎不太恰当。
我很好奇,是否有一些解决方法可以让我使用键盘上的 CMD+V 粘贴到这样的对话框中。我可以编辑闪存安全设置或其他东西来启用此功能吗?
答案1
它不起作用的原因是,当 Flash 打开文件对话框时,编辑Safari 中的菜单项仍然处于禁用状态,即使前往文件夹纸张打开。
本机上传或其他文件对话框的行为有所不同:当工作表可见时,菜单项被启用。
要独立于 Safari 重现此内容,请在 Xcode 中创建一个新的基于文档的 Cocoa 应用程序,保存并运行。按Cmd-O
、Cmd-Shift-G
、Cmd-V
。它将粘贴。退出,然后删除编辑菜单项MainMenu.xib
并重复。它不会粘贴,类似于 Safari 中的 Flash 对话框。
它是非常这不太可能是一个故意的安全功能,因为它Cmd-A
也保持停用状态,从安全角度来看,这没有多大意义。
只是 Flash 对话框不使用或启用 Safari 的常规菜单项,并且可能无法使用,因为应用程序本身提供了菜单项的回调。这只是我们必须忍受的插件集成限制之一。FWIW,Microsoft Silverlight 文件对话框的行为完全相同,请参阅这里。