请注意,此解决方案在 Firefox 版本 109/2023 年 2 月起不起作用,因此除非您知道您的用户没有使用 Firefox,否则请勿使用此解决方案。
Use the 新的剪贴板 API https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API, via navigator.clipboard
。它可以这样使用:
使用异步/等待语法:
const text = await navigator.clipboard.readText();
或者使用 Promise 语法:
navigator.clipboard.readText()
.then(text => {
console.log('Pasted content: ', text);
})
.catch(err => {
console.error('Failed to read clipboard contents: ', err);
});
请记住,这将提示用户一个权限请求对话框,因此不可能发生有趣的事情。
如果从控制台调用,上面的代码将不起作用。仅当您在活动选项卡中运行代码时它才有效。要从控制台运行代码,您可以设置超时并快速单击网站窗口:
setTimeout(async () => {
const text = await navigator.clipboard.readText();
console.log(text);
}, 2000);
阅读有关 API 和用法的更多信息谷歌开发者文档 https://developers.google.com/web/updates/2018/03/clipboardapi.
Spec https://www.w3.org/TR/clipboard-apis/#async-clipboard-api