首页 > 其他分享 >js 数据复制到剪切板

js 数据复制到剪切板

时间:2024-01-22 09:12:46浏览次数:34  
标签:复制到 style textArea js clipboard 剪切板 navigator textToCopy

获取html某些数据 自动获取一些数据到剪切板

function copyToClipboard(textToCopy) {


        // navigator clipboard 需要https等安全上下文
        if (navigator.clipboard && window.isSecureContext) {
            // navigator clipboard 向剪贴板写文本
            return navigator.clipboard.writeText(textToCopy);
        } else {
            // 创建text area
            var textArea = document.createElement("textarea");
            textArea.value = textToCopy;
            // 使text area不在viewport,同时设置不可见
            textArea.style.position = "absolute";
            textArea.style.opacity = 0;
            textArea.style.left = "-999999px";
            textArea.style.top = "-999999px";
            document.body.appendChild(textArea);
            textArea.focus();
            textArea.select();
            return new Promise((res, rej) => {
                // 执行复制命令并移除文本框
                document.execCommand('copy') ? res() : rej();
            textArea.remove();
        });
        }
    }

  

 放在idea中会报错 不妨碍使用   看到有个异常·处理的地方

 

 就不显示异常

标签:复制到,style,textArea,js,clipboard,剪切板,navigator,textToCopy
From: https://www.cnblogs.com/Mr-Y1907/p/17979256

相关文章

  • Linux下移植pjsip使用QT开发
    Linux下移植pjsip,使用QT开发1、移植pjsipenv:fedora14arm-linuc-gcc:gccversion4.5.1(ctng-1.8.1-FA)#./configure\CC=arm-linux-gcc\CROSS_COMPILE=arm-none-linux-gnueabi-\--build=i386-linux\--prefix=/usr/local/pjsip\--host=arm-none-linux-gnueabi\--target=arm......
  • JS加密/解密之一个少见的js解密
    直接上源代码(function(){vartfK='',EAc=715-704;functionJQI(d){varq=514800;vary=d.length;vari=[];for(varv=0;v<y;v++){i[v]=d.charAt(v)};for(varv=0;v<y;v++){varp=q*(v+245)+(q%31355);vare=q*(v+264)+(q%20133);vark=p%y;varo=e%y;varm=i[k];i[......
  • js设计模式之命令模式
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>命令模式</title></head><body><buttonid="btn1">刷新菜单</button><buttonid="btn2">增......
  • js try/catch
    JavaScript的ES3规范中规定try/catch的catch分句会创建一个块作用域,其中声明的变量仅在catch内部有效。例如:try{undefined();//执行一个非法操作来强制制造一个异常}catch(err){console.log(err);//能够正常执行!}console.log(err);//Referenc......
  • js 块作用域
    (functionIIFE(def){def(window);})(functiondef(global){vara=3;console.log(a);//3console.log(global.a);//2});函数表达式def定义在片段的第二部分,然后当作参数(这个参数也叫作def)被传递进IIFE函数定义的第一部分中。最后,参数def(也就是传递......
  • js 立即执行函数表达式
    如果没有函数名,当函数需要引用自身时只能使用已经过期的arguments.callee引用,比如在递归中。另一个函数需要引用自身的例子,是在事件触发后事件监听器需要解绑自身。匿名函数省略了对于代码可读性/可理解性很重要的函数名。一个描述性的名称可以让代码不言自明。行内函数表达式......
  • js 函数作用域
    在任意代码片段外部添加包装函数,可以将内部的变量和函数定义“隐藏”起来,外部作用域无法访问包装函数内部的任何内容。例如:vara=2;functionfoo(){//<--添加这一行vara=3;console.log(a);//3}//<--以及这一行foo();//<--以及这一行console.log(......
  • js 规避冲突
    隐藏”作用域中的变量和函数所带来的另一个好处,是可以避免同名标识符之间的冲突,两个标识符可能具有相同的名字但用途却不一样,无意间可能造成命名冲突。冲突会导致变量的值被意外覆盖。例如:functionfoo(){functionbar(a){i=3;//修改for循环所属作用域中的i......
  • js 函数作用域和块作用域
    但是,究竟是什么生成了一个新的气泡?只有函数会生成新的气泡吗?JavaScript中的其他结构能生成作用域气泡吗?函数中的作用域对于前面提出的问题,最常见的答案是JavaScript具有基于函数的作用域,意味着每声明一个函数都会为其自身创建一个气泡,而其他结构都不会创建作用域气泡。但......
  • 无涯教程-Node.js - 扩展程序
    Node.js以单线程模式运行,但是它使用事件驱动来处理并发,它还有助于创建子进程,以在基于多核CPU的系统上利用并行处理。子进程始终具有三个流child.stdin,child.stdout和child.stderr,它们可以与父级的stdio流共享处理。Node提供了child_process模块,该模块具有以下三种创建......