我正在尝试为用户提供一种在他/她进入页面时自动复制文本的方法。 我可以使用这样的输入和按钮使其工作:
<input type="text" id="text-field" value="Some text">
<button onclick="copyToClipboard()"> Copy </button>
和此js函数:
const copyToClipboard = str => {
$('#text-field').select();
try {
if (!document.execCommand('copy')) {
throw false;
}
alert('Copied');
} catch (error) {
alert('An error has occurred!');
}
};
当我单击按钮时,将复制文本。
问题是我想在页面加载时执行此操作。因此,我尝试编写如下内容:
$(function() {
copyToClipboard();
});
但它显示“发生了!”
有什么办法可以使这项工作成功吗?
答案 0 :(得分:1)
这是预期的行为。
https://www.w3.org/TR/clipboard-apis/#integration-with-rich-text-editing
通过脚本API触发的复制和剪切命令将仅 如果调度了事件,则会影响真实剪贴板的内容 来自用户信任并触发的事件,或者 实现中配置为允许这样做。