开发者问题收集

如何复制到剪贴板 javascript

2019-11-05
439

我的声誉太低,无法对原始帖子发表评论。 https://stackoverflow.com/a/39643244/10651767

当我使用函数 copyToClipboard(val) 时,其中 val 取自 localstorage,我在剪贴板中得到的只是字符串“val”,而不是 val 变量的值。

val= localStorage.getItem("val");
copyToClipboard(val);
1个回答

现在您应该使用剪贴板 API,而不是创建 dom 元素并调用 execCommand ,后者似乎不再起作用,但我还没有进行调查以确定。

document.querySelector('button').addEventListener('click', () => {
  let copyText = 'Random ' + Math.random();
  navigator.permissions.query({name: "clipboard-write"})
    .then(result => result.state == "granted" || result.state == "prompt")
    .then(() => navigator.clipboard.writeText(copyText))
    .then(() => console.log('Copied:', copyText))
    .catch(e => console.log('Failed to copy because:', e));
});
<button>Copy random text</button>
junvar
2019-11-05