首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以使用JavaScript实现剪贴板管理器吗?

可以使用JavaScript实现剪贴板管理器吗?
EN

Stack Overflow用户
提问于 2013-05-17 03:28:15
回答 2查看 552关注 0票数 2

我想为特定的网站创建一个基于JavaScript的剪贴板管理器,但我不确定从哪里开始。由于大多数web浏览器不允许直接访问剪贴板内容,有没有其他方法可以存储用户从特定网页复制的剪贴板项目列表,而不存储任何重复的项目?

EN

回答 2

Stack Overflow用户

发布于 2013-05-17 03:28:15

您可以通过检测CTRL+C组合键来获取复制的文本,将选定的文本添加到数组中,然后从数组中删除任何重复的元素,这样就不会存储重复的剪贴板项。

如果您想存储用户复制的超文本标记语言(而不仅仅是存储文本),那么可以使用Rangy这样的JavaScript库。

这是一个演示,它显示了用户从页面复制的所有文本,但没有显示任何重复的剪贴板项目:

http://jsfiddle.net/2RdRD/1/

代码语言:javascript
复制
var arrayOfCopiedText = new Array();
$(window).keyup(function (e) {
    if (e.ctrlKey && e.keyCode === 67) {
        arrayOfCopiedText[arrayOfCopiedText.length] = window.getSelection().toString();

        //remove duplicates from the array
        arrayOfCopiedText = removeDuplicates(arrayOfCopiedText);

        alert("List of current clipboard items: " + JSON.stringify(arrayOfCopiedText));
    }
});

function removeDuplicates(names) {
    var uniqueNames = [];
    $.each(names, function (i, el) {
        if ($.inArray(el, uniqueNames) === -1) uniqueNames.push(el);
    });
    return uniqueNames;
}
票数 2
EN

Stack Overflow用户

发布于 2013-05-17 03:36:12

如果您有一个ui,让用户复制到剪贴板并将该值存储在dom中的某个位置,则可以使用execCommand。

https://developer.mozilla.org/en-US/docs/Rich-Text_Editing_in_Mozilla

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16595855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档