假设我希望用户能够从 MSPaint 中复制并粘贴选定的像素到基于浏览器的应用程序中。这可能在任何当前浏览器中使用 JavaScript 吗?它会在 HTML5 中成为可能吗? 如果不行,使用 Flex/Silverlight 之类的东西是否可行,或者目前根本不可能,您必须保存文件并手动上传?
更新:听起来 HTML5 应该允许它,但这是 future 真正有用的一种方式。提到了 Java 小程序和 Flash 的一些建议,可能 Flash 更可取,因为网络客户端的某些部分可能无论如何都会使用 Flex ...网站。
最佳答案
对之前的问题进行了非常彻底的检查: Wysiwyg with image copy/paste 强>。它可能讨论 coming behavior in HTML5 ,以及 Flash和 Java applet与剪贴板交互的解决方案,然后您可以将其绑定(bind)到 JavaScript。
提问者询问了Zeroclipboard的适用性。所以,查看文件 ZeroClipboard10.as您会看到点击处理程序支持两种数据格式:
private function clickHandler(event:Event):void {
// user click copies text to clipboard
// as of flash player 10, this MUST happen from an in-movie flash click event
Clipboard.generalClipboard.clear();
Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, clipText);
Clipboard.generalClipboard.setData(ClipboardFormats.HTML_FORMAT, clipText);
ExternalInterface.call( 'ZeroClipboard.dispatch', id, 'complete', clipText );
}
reference for ActionScript's ClipboardFormats
常量表示其中一种格式是 BITMAP_FORMAT .所以我认为这是一个很好的开始。
关于javascript - 将非文本数据粘贴到基于浏览器的应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3022666/