在我的React应用中,我在遍历数组后显示卡片(因此理论上可以有n
个卡片)。
我希望用户单击该卡时复制该卡中显示的文本。但是问题是,react应用是在iframe中呈现的。
当应用程序位于单独的选项卡中时,复制功能起作用。但是,当从iframe中尝试时,我遇到了此错误:
Uncaught (in promise) DOMException: Disabled in this document by Feature Policy.
这与Google对this的政策更改相关联。有什么方法可以使此功能正常工作?
其他信息:在iframe中呈现的应用程序与父应用程序不共享同一域
背景阅读链接:
答案 0 :(得分:3)
如前所述here:
<块引用>要在 iframe 中使用 API,您需要使用 Permissions Policy 启用它,它定义了一种机制,允许有选择地启用和禁用各种浏览器功能和 API。具体而言,您需要传递 clipboard-read
或 clipboard-write
中的一个或两个,具体取决于您的应用程序的需求。
<iframe src="index.html" allow="clipboard-read; clipboard-write"></iframe>
如果您只想将文本复制到剪贴板(即您不需要能够以编程方式读取它),那么您只需要 clipboard-write
权限:
<iframe src="index.html" allow="clipboard-write"></iframe>