#优质博文 #javascript #前端
The web's clipboard, and how it stores data of different types
Web 的剪贴板,以及它如何存储不同类型的数据
AI 摘要:网页剪贴板能够存储多种数据类型(如纯文本、HTML、PNG 图片等),不同应用根据支持的 MIME 类型选择合适的格式进行粘贴。自 2017 年引入的异步 Clipboard API 限制了可读写的 MIME 类型,仅支持 text/plain、text/html 和 image/png,无法直接处理自定义类型。而旧的 Clipboard Events API 则允许在用户触发的可信事件中读写更多自定义数据类型。实际应用中,如 Google Docs 和 Figma 通过特定方法(例如 execCommand("copy") 和嵌入 base64 字符串)实现了自定义数据的剪贴板传输。不同浏览器对自定义数据类型的处理各异,限制了跨应用程序的共享。尽管 Raw Clipboard Access 提案因安全问题未被广泛采用,Chromium 在 2022 年实现的 Web Custom Formats(Pickling)为未来支持自定义数据类型提供了可能。总体而言,当前跨浏览器支持自定义剪贴板数据类型仍有限,但通过合理使用现有 API 和关注新提案,开发者可以在保障安全的前提下,实现更灵活的剪贴板操作。
The web's clipboard, and how it stores data of different types
Web 的剪贴板,以及它如何存储不同类型的数据
AI 摘要:网页剪贴板能够存储多种数据类型(如纯文本、HTML、PNG 图片等),不同应用根据支持的 MIME 类型选择合适的格式进行粘贴。自 2017 年引入的异步 Clipboard API 限制了可读写的 MIME 类型,仅支持 text/plain、text/html 和 image/png,无法直接处理自定义类型。而旧的 Clipboard Events API 则允许在用户触发的可信事件中读写更多自定义数据类型。实际应用中,如 Google Docs 和 Figma 通过特定方法(例如 execCommand("copy") 和嵌入 base64 字符串)实现了自定义数据的剪贴板传输。不同浏览器对自定义数据类型的处理各异,限制了跨应用程序的共享。尽管 Raw Clipboard Access 提案因安全问题未被广泛采用,Chromium 在 2022 年实现的 Web Custom Formats(Pickling)为未来支持自定义数据类型提供了可能。总体而言,当前跨浏览器支持自定义剪贴板数据类型仍有限,但通过合理使用现有 API 和关注新提案,开发者可以在保障安全的前提下,实现更灵活的剪贴板操作。