首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML5剪贴板API状态- CanIUse显示部分支持

HTML5剪贴板API状态- CanIUse显示部分支持
EN

Stack Overflow用户
提问于 2014-06-18 19:46:22
回答 1查看 901关注 0票数 2

CanIUse.com显示,所有主流浏览器至少都有部分剪贴板API支持,而FF完全支持:https://caniuse.com/#feat=clipboard

但是,我找不到任何教程或简单的例子,说明如何使用HTML5 (没有闪存)写入剪贴板。

有人知道部分支持到底是什么意思吗?这个特性有用吗?如果它只在Chrome/FF中工作,那就足以满足我的需要了。

EN

回答 1

Stack Overflow用户

发布于 2018-01-01 12:39:28

最近,我在以下浏览器(最新版本)中对W3C剪贴板API进行了深入的研究(直到本文还处于工作草案阶段):

  1. Internet Explorer
  2. 边缘
  3. Google Chrome
  4. Firefox

ChromeFirefox都支持W3C剪贴板API。可以使用getDatasetData方法( https://developer.mozilla.org/en-US/docs/Web/API/ClipboardEvent/clipboardData )将数据读写到剪贴板。

您可以在不同的MIME类型(甚至自定义类型)中设置数据。虽然与text/plaintext/html不同的东西在其他浏览器中是不可读的,但只有您设置数据的浏览器才能读取。

Edge支持W3C剪贴板API,其限制是只能使用MIME类型text/plain (或text)写入数据。其他任何东西都会抛出异常。但是,也有一个使用内容可编辑的div进行黑客攻击,您也可以用text/html MIME类型编写数据。

黑客可以在这里找到:https://stackoverflow.com/a/30905277/434742 (在答案中寻找"UPDATE: COPY“)

Internet 不支持W3C剪贴板API。不过,有一个custom implementation可用。但即使这样,也有与边缘相同的限制,这意味着您只能使用MIME类型text/plain (或text)编写数据。但是上面的边缘黑客也适用于。此外,您还只能使用MIME类型text/plain (或text)读取数据。但是还有另一种使用内容可编辑的div的攻击,您也可以用text/html MIME类型读取数据。

黑客可以在这里找到:https://stackoverflow.com/a/6804718/434742 (在答案中寻找“解决方案#2”)

TL;DR:您可以在上面提到的所有浏览器中复制和粘贴包括格式在内的文本。但是,对于Edge,特别是Internet,需要一些解决办法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24293864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档