是否可以将iframe中的文本复制到剪贴板?

时间:2020-04-24 04:52:00

标签: javascript reactjs iframe

在我的React应用中,我在遍历数组后显示卡片(因此理论上可以有n个卡片)。

我希望用户单击该卡时复制该卡中显示的文本。但是问题是,react应用是在iframe中呈现的。

当应用程序位于单独的选项卡中时,复制功能起作用。但是,当从iframe中尝试时,我遇到了此错误:

Uncaught (in promise) DOMException: Disabled in this document by Feature Policy.

这与Google对this的政策更改相关联。有什么方法可以使此功能正常工作?

其他信息:在iframe中呈现的应用程序与父应用程序不共享同一域

背景阅读链接:

1 个答案:

答案 0 :(得分:3)

如前所述here

<块引用>

要在 iframe 中使用 API,您需要使用 Permissions Policy 启用它,它定义了一种机制,允许有选择地启用和禁用各种浏览器功能和 API。具体而言,您需要传递 clipboard-readclipboard-write 中的一个或两个,具体取决于您的应用程序的需求。

<iframe src="index.html" allow="clipboard-read; clipboard-write"></iframe>

如果您只想将文本复制到剪贴板(即您不需要能够以编程方式读取它),那么您只需要 clipboard-write 权限:

<iframe src="index.html" allow="clipboard-write"></iframe>