想象一下,我希望用户能够将选择的像素从MSPaint复制粘贴到基于浏览器的应用程序中。这在当前任何浏览器中都可以使用JavaScript吗?它会在HTML5中成为可能吗? 如果没有,是否可以使用像Flex / Silverlight这样的东西,或者目前根本不可能,你需要保存文件并手动上传它?
更新:听起来像HTML5应该允许它,但这是未来真正有用的方式。提到了Java applet和Flash的一些建议,可能Flash会更好,因为Web客户端的某些部分可能会使用Flex ...我宁愿不要求Java 和 Flash在我的站点。
答案 0 :(得分:2)
对此前一个问题进行了彻底的审查: Wysiwyg with image copy/paste 。它讨论了可能的coming behavior in HTML5,以及与剪贴板交互的Flash和Java applet解决方案,然后您可以将这些解决方案绑定到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。所以我认为这是一个非常好的开始。