我有这个粘贴代码:
navigator.clipboard.readText().then(
clipText => document.querySelector("#Note").innerText += clipText);
但它有这个错误:
未捕获的 TypeError:navigator.clipboard.readText 不是函数
帮我解决这个错误
我有这个粘贴代码:
navigator.clipboard.readText().then(
clipText => document.querySelector("#Note").innerText += clipText);
但它有这个错误:
未捕获的 TypeError:navigator.clipboard.readText 不是函数
帮我解决这个错误
我猜你正在Firefox中测试它,在这种情况下:
Firefox 仅支持在浏览器扩展中读取剪贴板,使用“clipboardRead”扩展权限。
https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/readText#browser_compatibility
在 Firefox(版本 94,2021 年 11 月)上读取剪贴板似乎不起作用并引发错误:
var promise = navigator.clipboard.readText();
// Uncaught TypeError: navigator.clipboard.readText is not a function
MDN Web Docs 上的文档建议通过 Permission API 授予权限:
必须先授予 Permissions API 的“剪贴板读取”权限,然后才能从剪贴板读取数据。
但clipboard-read
似乎不支持:
navigator.permissions.query({ name: "clipboard-read" });
// Uncaught TypeError: 'clipboard-read' is not a valid value for enumeration PermissionName.
启用剪贴板读取(和写入)的唯一方法是dom.events.testing.asyncClipboard
在 Firefox 客户端上启用:
about:config
在导航栏中输入dom.events.testing.asyncClipboard
并设置true