相关疑难解决方法(0)

JavaScript在粘贴事件上获取剪贴板数据(跨浏览器)

Web应用程序如何检测粘贴事件并检索要粘贴的数据?

我想在将文本粘贴到富文本编辑器之前删除HTML内容.

之后粘贴后清理文本有效,但问题是所有以前的格式都丢失了.例如,我可以在编辑器中编写一个句子并将其设为粗体,但是当我粘贴新文本时,所有格式都会丢失.我想只清理粘贴的文本,并保持以前的格式不变.

理想情况下,该解决方案应适用于所有现代浏览器(例如,MSIE,Gecko,Chrome和Safari).

请注意,MSIE有clipboardData.getData(),但我找不到其他浏览器的类似功能.

javascript clipboard cross-browser

281
推荐指数
10
解决办法
33万
查看次数

使用FireFox,Safari和Chrome将文本复制/放入剪贴板

在Internet Explorer中,我可以使用clipboardData对象来访问剪贴板.我怎样才能在FireFox,Safari和/或Chrome中执行此操作?

javascript clipboard dom

111
推荐指数
7
解决办法
13万
查看次数

在imgur中图像粘贴如何在Firefox中运行?

  1. 打开图像编辑程序,复制图像(不要从浏览器复制 - 我将在后面解释原因).
  2. 打开Firefox并转到http://imgur.com
  3. Ctrl+V
  4. 在上传之前复制的图像完全令人惊讶.

我知道HTML5剪贴板API,它适用于Chrome.在Chrome中,当您粘贴二进制图像数据时,浏览器会触发一个paste包含event.clipboardData.types等于的事件['Files'],因此我可以将我的图像放在剪贴板中

var index = event.clipboardData.types.indexOf('Files');
if(index !== -1) {
    var blob = event.clipboardData.items[index].getAsFile();
}
Run Code Online (Sandbox Code Playgroud)

在Firefox中,当我粘贴二进制图像数据时,浏览器也会触发粘贴事件,但它event.clipboardData.types是空的(有length === 0)并且event.clipboardData.getData('Files')显然会返回"".

顺便说一下,从浏览器复制图像也会设置一个"text/html"项,clipboardData其中包含复制的<img>元素.因此,在这些情况下,我可以通过将远程URL发送到服务器来解决问题,然后服务器将自己下载图像(如果服务器可以访问远程位置,这是不能保证的).

StackOverflow建议: 如何从Firefox中的剪贴板获取数据 (创建一个contenteditable <div>,请用户粘贴到该剪贴板然后复制内容.)

但是,imgur不这样做.这是如何运作的?

javascript clipboard firefox html5 imgur

13
推荐指数
1
解决办法
2430
查看次数

标签 统计

clipboard ×3

javascript ×3

cross-browser ×1

dom ×1

firefox ×1

html5 ×1

imgur ×1