使用 JavaScript 和 Google Chrome API 将剪贴板数据存储到变量中
Storing clipboard data into a variable with JavaScript and the Google Chrome API
我想知道是否可以将剪贴板的内容存储在字符串变量中。
以下来源指出,使用纯JS无法做到这一点,但是我想希望chrome API能够实现这一目标。(我正在开发一个铬扩展程序)。
- 如何在跨浏览器中读取剪贴板数据?
有一个clipboardRead
权限,它会让你相信这是可能的,但它的描述只是:
如果扩展程序或应用使用 document.execCommand('paste'),则为必需。 源
澄清一下:我没有尝试将数据复制到剪贴板或从中粘贴数据。我想将剪贴板的内容存储到变量中,而不会以任何方式改变剪贴板内容。
为了进一步澄清,我不能假设剪贴板数据恰好在操作时位于info.selectionText
中。
如果不可能,我想我将不得不忍受它,但这似乎是可以通过扩展来实现的。
编辑:我想存储值的原因是因为我需要利用剪贴板来执行操作,但我想在完成后恢复其内容,这样用户就不会丢失以前在那里的任何内容。
如果我只是将数据粘贴到文本区域并从那里存储,那么,当我去放回数据时,用户将丢失他们拥有的任何格式,这总比没有好得多,但不是最佳的。
另外,有没有办法存储这些数据,即使它不是字符串(例如图像)?允许我这样做的解决方案无疑也会隐含地回答上述问题,但不是必需的。我主要寻找保存字符串数据,并希望采用一种保持格式的方法。
不久前有一个实验性的剪贴板 api,我想他们删除了它。您始终可以将内容粘贴到文本区域/内容可编辑中并获取其值:
function getClipboard() {
var el = document.createElement('textarea');
document.body.appendChild(el);
el.focus();
document.execCommand('paste');
var value = el.value;
document.body.removeChild(el)
return value;
}
console.log(getClipboard());
相关文章:
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 如何以特定格式存储数据?在WYSWYG中
- web浏览器中的离线应用程序存储数据并在之后上传
- 在firebase(web)上存储数据时出现问题
- 使用会话Javascript存储数据
- 通过CK编辑器获取值和存储数据
- 存储数据的最佳方式是什么,以便与jquery一起使用
- 如何在网页之间存储数据
- jQuery 设置和获取下拉列表和输入的本地存储数据
- 如何通过HTML 5 javascript在本地ipad / iPhone上存储数据,并在设备上线时提交
- 使用 Cookie 存储数据
- 如何将本地存储数据提交到 Django
- 如何在循环jQuery中的数组中存储数据
- 正在从表行中删除本地存储数据
- 在web应用程序中存储数据
- 自动将jqgrid滚动到具有存储数据的单元格的当前日期列和闪烁效果
- 如何将复选框呈现为从本地存储数据中选中的复选框
- 如何使用Ajax检索和存储数据
- 方法存储数据,直到浏览器关闭
- 如何在redux sagas完成之前通过meta标签加载初始存储数据