javascript - 将文本从书签复制到剪贴板

标签 javascript google-chrome clipboard bookmarklet

我正在尝试编写一个小书签,它可以从事件页面中提取一些文本并将其加载到剪贴板中。

提取非常简单,但我真的无法完成剪贴板复制部分。目前,我只是 alerting 文本并按 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/

相关文章:

javascript - 查找最近的 x,y 坐标

javascript - Jinja2 中的 {% now 'U' %} 实现?

javascript - 使用 Parsley.js 将验证器添加到动态克隆的字段时出现两个错误

html - Facebook 通知如何在 Android 手机的 Google Chrome 上运行

iframe - 删除垂直滚动条,将水平滚动条保留在Chrome的iframe中

python - PyGTK:如何制作剪贴板监视器?

javascript - 如何在phonegap中使用输入类型文件?

javascript - 如何将 Chrome 应用程序的最大宽度设置为小于最小化、最大化、关闭按钮的宽度?

vb.net - 如何知道剪贴板上的数据已经可以使用了?

javascript - JS : How I can detect if HTML was successfully copied to the clipboard?