ITPub博客

首页 > IT职业 > IT生活 > 使用JavaScript读取所选文本并将其复制到剪贴板

使用JavaScript读取所选文本并将其复制到剪贴板

原创 IT生活 作者:cenfeng 时间:2019-07-19 16:07:03 1 删除 编辑

询问大多数开发人员如何将用户选择的内容复制到剪贴板,他们会提到Flash的需求(因此  Zeroclipboard 等脚本的流行 )。然而,这种想法的调整现在归功于最近浏览器对JavaScript中关键技术的支持的改进,这使得复制到剪贴板本身成为可能。这种JavaScript方法 在IE9 +,Firefox 41+和Chrome 42+中 得到支持,最终为浏览器本身带来了原生剪切/复制支持。在本教程中,我们将看到如何阅读用户选择的文本内容,动态选择页面上的一些文本,最后但并非最不重要的是,将所选内容复制到剪贴板,所有这些都只使用JavaScript。我们现在正进入无Flash区域!   document.execCommand()

 检索用户选择的文本内容

让我们从顶部开始,检索用户在页面上选择的内容,直到任何文本内容。 为此,我们使用 了所有现代浏览器和 IE9 + 支持的方法  :   window.getSelection()

1
2
3
4
五
6
7
<font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" > function getSelectionText(){</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
     var selectedText =“”</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
     if (window.getSelection){ //所有现代浏览器和IE9 +</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
         selectedText = window.getSelection()。toString()</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
     }</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
     return selectedText</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
}</font></font>

window.getSelection() 返回页面上当前选定的文本,并返回 包含该数据 的 对象。 要检索实际文本,我们使用 它将其转换为字符串。 以下示例 在用户将鼠标悬停在文档上时 调用我们的函数 ,以便查看用户选择了什么(如果有的话): Selection toString() getSelectionText()

1
2
3
4
五
6
<font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >document.addEventListener( 'mouseup' , function (){</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
     var thetext = getSelectionText()</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
     if (thetext.length> 0){ //检查是否选择了一些文本</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
         console.log(thetext) //记录用户在页面上选择的任何文本内容</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
     }</font></font><font></font><font style= "vertical-align: inherit;" ><font style= "vertical-align: inherit;" >
}, false )</font></font>

我们首先检查是否选择了一些文本,就好像用户只是单击页面一样,没有。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69933200/viewspace-2651146/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-06-18

  • 博文量
    125
  • 访问量
    129478