列表格式显示

- 分类

广告招商中......
联系方式!

- 时间排序 更多...
    - 点击排序 更多...
      - 大小排序 更多...
        作者

         

        最近发布的软件 更多>>

        首页 >> >> >>在Chrome扩展中实现clipboard剪贴板复制功能 发布者:blog >> 本人发布的更多软件

        广告招商中...... 联系方式!

        在Chrome扩展中实现clipboard剪贴板复制功能 

        时间:2024-06-18 15:29:06      作者:blog     访问量:  
        ;开始下载地址

        先前分享了通过Chrome扩展实现自动采集 magnet和ed2k地址的功能,参考:

        中老年Java民工:自己动手快速实现可以自动采集magnet磁链和ed2k地址的chrome扩展

        由于chrome扩展不能写入本地文件,于是当时简单使用navigator.clipboard的api进行复制,结果实际发现复制到剪贴板的操作不能成功,然后临时用alter进行弹框,再在弹框复制文本,结果又踩到坑了,文本太长的时候,复制出来的文本中间的内容自动变成了小数点表示省略,而且还没有换行符。

        于是重新研究clipboard粘贴板复制功能的实现,在网上找了资料,资料基本都是过时的,所以也绕了弯路,因此记录一下过程。

        1.下载clipboard.js组件库

        clipboard.js 是一个用于实现剪贴板复制剪切功能的 js 组件。

        下载clipboard.js的最新版本,得到 clipboard.js-2.0.11.zip .

        来源: github.com/zenorocha/cl


        2. 确保Chrome扩展声明了剪贴板的读写权限


        		"clipboardRead", //剪切板读权限
        		"clipboardWrite", //剪切板写权限

        Chrome扩展权限明细可以参考:developer.chrome.com/do

        3.在扩展的popup.html页面引入js脚本

        将clipboard.js复制到扩展的根目录下面,然后在html代码中加上依赖生命

            <script type="text/javascript" src="clipboard.js"></script>
        	<script type="text/javascript" src="popup.js"></script>

        4.一行代码搞定复制功能

        const textCopied = ClipboardJS.copy(str);
        //alert('复制了' + str);

        5.绕过的弯路

        首先参考下面这篇文章进行了尝试

        在 Chrome 扩展中使用 clipboard.js 复制文本

        结果首先发现 backgroud机制的page属性在 Chrome扩展V3版里不能使用了,

        其次发现clipboard.js组件的类名已经改成了 ClipboardJS,

        再是发现网上的示例都讲的在现有html页面控件上实现粘贴板复制功能,需要声明按钮和文本框这些,

        而实际的操作不需要这些,具体的示例参考 clipboard.js-2.0.11\demo\text-programmatic-copy.html

        然后就会发现使用超级简单!!!

        示例的代码是:

         <body>
            <!-- 1. Define some markup -->
            <button id="btn">
              Copy
            </button>
        
            <!-- 2. Include library -->
            <script src="../dist/clipboard.min.js"></script>
        
            <!-- 3. Instantiate clipboard -->
            <script>
              var btn = document.querySelector('#btn');
        
              btn.addEventListener('click', () => {
                const textCopied = ClipboardJS.copy('123');
                console.log('copied!', textCopied);
              })
            </script>
          </body>

        插件改好代码之后,重新刷新加载进来,直接验证成功。



        https://wenku.csdn.net/answer/7bdb18944089412b8ecbf816f2c22f2f



        本页Html网址:/htmlsoft/619356.html

        本页aspx网址:/soft.aspx?id=619356&bianhao=202406181528338220_66536&kind1=&kind2=

        最后访问时间:

        上一篇:html5滑块验证页面 网页滑块验证失败

        下一篇:Selenium 系列篇(六):反反爬篇

        增加   


        相关评论        新窗口打开查看评论