JavaScript 实现点击按钮复制指定区域文本

阅读 2901
收藏 249
2016-11-24
原文链接:zhuanlan.zhihu.com
html5的webAPI接口可以很轻松的使用短短的几行代码就实现点击按钮复制区域文本的功能,不需要依赖flash。

代码如下:

/* 创建range对象   */
const range = document.createRange();
range.selectNode(element);    // 设定range包含的节点对象 

/* 窗口的selection对象,表示用户选择的文本 */
const selection = window.getSelection();
if(selection.rangeCount > 0) selection.removeAllRanges(); // 将已经包含的已选择的对象清除有
selection.addRange(range);                                // 将要复制的区域的range对象添加到selection对象中

document.execCommand('copy'); // 执行copy命令,copy用户选择的文本

测试:

浏览器的版本号为我测试时使用的版本。

edge浏览器、Chrome(v54.0.2840.99 m)、Firefox(v49.0.1)可用。

IE9、IE10、IE11会弹出提示询问是否将文本粘贴到剪贴板上。

IE7、IE8不支持该功能。

IOS10的Safari浏览器可用。

Demo:




    
    Title


公园一日游

今天风和日丽,我和小红去了人民公园,玩了滑梯、打雪仗、划船,真是愉快的一天啊。

可以复制粘贴下来,自己测试一下。
API参考:
评论