說明
在Chrome 81版本之上時,通過iframe引入的頁面無法正常使用粘貼板。此時,控制台會輸出
DOMException: The Clipboard API has been blocked because of a permissions policy applied to the current document. See https://goo.gl/EuHzyv for more details.
錯誤,這是由於web規范之Feature Police導致的。
Feature Police有些類似於CSP,是安全策略的一種。關於FP的設置有兩種,Headers設置與iframe的屬性(allow)設置,目前常用的的Feature類型可參考:Features,也可以在瀏覽器執行
document.featurePolicy.allowedFeatures();
獲取當前版本瀏覽器支持的類型。
解法
針對iframe無法使用粘貼板的問題,可采用
<iframe id = 'ide' allow="clipboard-read; clipboard-write " src = "xxx"></iframe>
加上allow屬性即可。