使用 JavaScript 从剪贴板粘贴图像
我们如何使用 JavaScript 将剪贴板中的图像粘贴到自定义富文本编辑器中? (ctrl+c 和 ctrl+v 或快照)。
有人用过Ajax的富文本编辑器吗?将图像从剪贴板粘贴到 Ajax RTE 有效吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我们如何使用 JavaScript 将剪贴板中的图像粘贴到自定义富文本编辑器中? (ctrl+c 和 ctrl+v 或快照)。
有人用过Ajax的富文本编辑器吗?将图像从剪贴板粘贴到 Ajax RTE 有效吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
因为这个问题仍然经常出现在 Google 的搜索结果中,所以我想指出,今天这是可能的,
至少在 Google Chrome (2011) 中在所有现代浏览器 (2018) 中。他们将其实现为在 GMail 中使用,但它可用于所有网站。如何粘贴剪贴板中的图像功能可以在 Gmail 和 Google Chrome 12+ 中使用吗?
Because this question still often shows up in Google's search results, I want to point out this is possible today,
at least in Google Chrome (2011)in all modern browsers (2018). They implemented it to use in GMail, but it is available for all websites.How does the paste image from clipboard functionality work in Gmail and Google Chrome 12+?
为了帮助其他人,我将在此处留下 Nick Rattalack 的答案
Gmail 和 Google Chrome 12+ 中的剪贴板粘贴图像功能如何工作?
To help others, I'll leave the link here with the answer made by Nick Rattalack
How does the paste image from clipboard functionality work in Gmail and Google Chrome 12+?
现在在 Chrome 和 Firefox 中这绝对是可能的。我不太确定 IE/Safari。
以 imgur.com、onpaste 和 Pasteboard.co 为例,并查看 github 上的粘贴板代码 以及 Joel 在他的博客上写的精彩文章
根据记录,您需要用户在您的元素上按 Ctrl+V,然后您可以通过读取
event.clipboardData< 来捕获 paste 事件处理程序中的数据。 /code> 但要使其在下层工作,您需要确保焦点位于空的 contenteditable 元素上,并从那里提取结果,这在 Firefox 22 中效果不佳。请参阅这里< /a>
This is definitely possible now in Chrome and Firefox. I'm not so sure about IE/Safari.
Look at imgur.com, onpaste, and pasteboard.co as examples, and see the code for pasteboard on github as well as Joel's excellent write up on his blog
For the record, you need the user to press Ctrl+V on your element, and then you can capture the data in the paste event handler by reading from
event.clipboardData
but to make it work down-level, you need to be sure focus is on an empty contenteditable element, and pull the results from there, which doesn't work well in Firefox 22. See here新的浏览器(例如 Firefox 4)支持将剪贴板中的图像数据粘贴到 RTE 中,作为 带有编码 PNG 的数据 URI数据。然而,大多数 Web 应用程序会错误地解析这些数据 URI 并将其丢弃。雅虎邮件处理得当。然而 Gmail 和 Hotmail 放弃了它。我已就此通知谷歌和微软。
New browsers, like Firefox 4, support pasting of image data from clipboard into a RTE as Data URI with encoded PNG Data. However, most web applications incorrectly parse these Data URIs and discard it. Yahoo mail properly handles. However Gmail and Hotmail discard it. I have notified Google and Microsoft about this.
现在我找到了 clipboardData 对象 。
但它仅从剪贴板检索文本格式或 URL。
clipboardData
仅适用于 IE,它适用于字符串,如果粘贴图像则返回 null。测试示例
默认情况下,Firefox 上不启用剪贴板访问,解释 execCommand()处理文本值并且不兼容 Firefox。
正如其他人所说,代码在 IE 上运行的事实存在安全风险,任何网站都可以访问您的剪贴板文本。
复制图像相对 URL 的最简单方法是使用 java 小程序、windows activeX 插件、 .net 代码 或拖放它。
For now i found the clipboardData Object .
But it retrieve only text format or URL from clipboard.
clipboardData
is IE only, it works with character string and return null if we paste an image.a test example
By default clipboard access is not enabled on firefox, explanation here.
On the other way, execCommand() only process text values and is not Firefox compliant.
Like the others said, the fact that code works on IE is a security risk, any site can access your clipboard text.
The easiest way to copy images relative URL is to use a java applet, windows activeX plugin, .net code or drag and drop it.
不幸的是,无法将剪贴板中的图像粘贴到 RTE。
如果您从 Microsoft Word 等桌面应用程序复制包含图像和一些文本的 Blob,则图像将显示为损坏的参考(尽管比例将正确),并且文本将正确粘贴(格式将丢失) 。
唯一可能的就是复制 RTE 中的图像并粘贴回 RTE 中。
Unfortunately, It's not possible to paste an image from your clipboard to the RTE.
If you copy a blob from a desktop app like Microsoft Word that contains an image and some text, the image will turn up as a broken reference (though the proportions will be correct) and the text will be pasted correctly (formatting will be lost).
The only thing that is possible is to copy an image within the RTE and paste back within the RTE.