Skip to content

JS 复制页面内文本 #39

@Dream4ever

Description

@Dream4ever

需求描述

需要在浏览器中用 JS 实现复制文本的功能,不要求是用户直接能看到的文本。点个按钮然后复制指定的文本到系统剪贴板中也是可以的。

实现过程

2018年06月22日更新:在部分安卓手机上,复制出来的文本为空,QQ、独立浏览器均有此情况。但同事又说她当时测试的时候是没问题的。如果不是代码的问题,那就是自己在测试的时候,没能访问更新后的页面。但是安卓版本的 QQ 是没法 刷新内置浏览器中的页面的,这就很恶心了。


Google js copy text,第一个链接就是 Stack Overflow 上的:How do I copy to the clipboard in JavaScript?,回答也是干货满满。

但是!在点开 Stack Overflow 的链接之前,一眼瞅到第四条搜索结果就是 GitHub 上现成的项目:zenorocha/clipboard.js。有现成的东西,就懒得自己从头实现了,嘿嘿。

安装了这个库之后,想在项目中应用,但是由于子组件用到了 vue-js-modal 模态对话框,如果点击事件没有被触发,对话框不会被初始化,就没办法在父组件中复制对话框内的文本了。(后来想想,数据就在父组件中,子组件直接通过 emit 通知父组件,然后让父组件完成复制的工作就可以了嘛。)

于是再上 GitHub 搜索,找到了 Inndy/vue-clipboard2 这个项目,测试了一下,果然 OK 了。

兼容性统计

参考资料

要点总结

Metadata

Metadata

Assignees

No one assigned

    Labels

    Front-endEverything you see and experienceJSJavascript

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions