草案中有一个用于标准化剪贴板事件的API,但目前尚未在任何浏览器中实现http://dev.w3.org/2006/webapi/clipops/
我正在使用zclip(基于zeroclipboard)将文本从restfule服务复制到系统剪贴板:
$('.copy-to-clipboard').zclip
path:'/ZeroClipboard.swf'
setHandCursor: true
copy: ->
ajaxReturn = $.ajax
type: 'GET'
async: false
url: '/resources/copy_to_clipboard/' + $(this).attr("class").match(/[0-9]+/)
return ajaxReturn.responseText
Run Code Online (Sandbox Code Playgroud)
这是coffeescript.
如果服务(/ resources/copy_to_clipboard /)提供文本,则将其复制到右侧.但如果它服务于DOCX文件,它不会直接复制到剪贴板.看看rails控制器:
def copy_to_clipboard
send_file @resource.resource_content.content.file.file, :type => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
end
Run Code Online (Sandbox Code Playgroud)
你有没有随时解决复制BINARY数据到剪贴板?如何 ?
谢谢
我正在努力使用户可以将图标从Web浏览器拖到他们的桌面,并创建一个文本文件.我有内容部分,但我无法弄清楚如何设置文件名.我试过变异,dataTransfer.files但这是只读的.我不知道如何实现这一目标.
class CrashReport extends React.Component {
dragStart(event) {
const dat = {name: 'test!', crashDate: new Date()};
event.dataTransfer.name = 'tmp.txt'; // bad
event.dataTransfer.setData('text/plain', JSON.stringify(dat, null, 2));
console.log(event.dataTransfer);
}
render() {
return <div draggable onDragStart={this.dragStart.bind(this)}>
Drag This
</div>
}
}
Run Code Online (Sandbox Code Playgroud)
似乎Gmail刚刚启动此功能,它不需要您安装任何插件等.
它适用于Firefox和Chrome,但不适用于IE.