js获取用户当前页面复制的内容并修改

时间:2024-03-10 19:58:55

如果只是单纯的获取页面上复制的内容可以使用window.getSelection()来获取选中的内容,在执行复制操作就可以了,但是如果想修改复制的内容可以先获取要复制的内容修改之后再用document.execCommand("copy") 事件(document.execCommand方法允许运行命令来操纵可编辑区域的元素)。

获取复制的内容

配合copy事件来获取

获取的content是一个 Selection 对象。 如果想要将 selection 转换为字符串,可通过连接一个空字符串("")或使用 String.toString() 方法。

document.addEventListener(\'copy\', function() {
                var content = window.getSelection().toString();
                console.log(content )
})

配合键盘事件来获取

document.addEventListener(\'keyup\', function(e) {
                if(e.ctrlKey && e.keyCode == "67") {
                    var content = window.getSelection().toString();                    
                    alert(content)
                }

            })

获取复制的内容并修改

<textarea cols="20" rows="10" id="text">text</textarea>  
<input type="button" value="点击复制" class="btn"/>  
<script> 
     var btn=document.querySelector(".btn");
     btn.onclick=function(){
        var text=document.getElementById("text");
        text.value+=\'我是已经复制的文本\';//给复制的内容添加一段文字
        text.select();       //选中复制的内容  
        document.execCommand("copy");//执行浏览器复制命令
        alert("已复制好,可贴粘。");
    }
</script>