我正在尝试编写一个小书签,它可以从事件页面中提取一些文本并将其加载到剪贴板中。
提取非常简单,但我真的无法完成剪贴板复制部分。目前,我只是 alert
ing 文本并按 Ctrl+C 从消息框中复制文本,这不是理想。
我读过 How to Copy to Clipboard in JavaScript以及其他建议我使用 zeroclipboard 的问题,但考虑到我必须加载外部 flash 和 javascript 资源才能使用该库,我不知道如何通过 bookmarklet 实现它。
考虑到这只是一个私有(private)书签,我不介意弄乱页面的 DOM 来完成此操作或必须在我的浏览器 (Google Chrome) 上启用某些权限。
任何指针将不胜感激。
最佳答案
Github Gist 中有一个不错的小书市,可以做 the core of what you want -- 复制到剪贴板。它不使用任何外部库,我认为这是一个优势。
正如所写,它复制了一些静态文本,但在底部它谈到了将其改编为其他用途,例如复制页面标题。
既然您已经说过“提取非常简单......”,那么您应该能够轻松地根据您想要执行的操作调整该要点。
我尝试了普通版本的小书签,因为我有一些静态文本,我经常需要将它们传输到我的剪贴板。它在 Chrome 61 中运行良好,无需修改。但是请确保您阅读了评论;有些人建议让它在其他浏览器和场景中工作。
这是我测试过的代码,已经缩小并准备好变成书签:
javascript:!function(a){var b=document.createElement("textarea"),c=document.getSelection();b.textContent=a,document.body.appendChild(b),c.removeAllRanges(),b.select(),document.execCommand("copy"),c.removeAllRanges(),document.body.removeChild(b)}("Text To Copy");
Gist 也有预先缩小的代码。
关于javascript - 将文本从书签复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5046972/