首页 > 其他分享 > js复制网页上的内容到剪切板

js复制网页上的内容到剪切板

时间:2023-07-17 12:33:22浏览次数:59  
标签:trans 网页 js window alert Components 剪切板 var txt

  js复制网页上的内容到剪切板
2023-07-17 测试,原来的代码已经没用了,现用下面的代码,在firefox和edge上测试成功
        function aaa() {
            var txt = $('#hfDesc').val();
            navigator.clipboard.writeText(txt).then(
                () => {
                    /* clipboard successfully set */
                    alert('复制成功');
                },
                () => {
                /* clipboard write failed */
                    alert('复制失败');
                },
            );

        }

  


原来的代码:
        function copyToClipboard(txt) {
            if (window.clipboardData) {
                window.clipboardData.clearData();
                window.clipboardData.setData("Text", txt);
                alert("已成功复制文本.");
            } else if (navigator.userAgent.indexOf("Opera") != -1) {
                window.location = txt;
            } else if (window.netscape) {
                try {
                    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                } catch (e) {
                    alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
                }
                var clip = Components.classes['@@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
                if (!clip) return;
                var trans = Components.classes['@@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
                if (!trans) return;
                trans.addDataFlavor('text/unicode');
                var str = new Object();
                var len = new Object();
                var str = Components.classes["@@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
                var copytext = txt;
                str.data = copytext;
                trans.setTransferData("text/unicode", str, copytext.length * 2);
                var clipid = Components.interfaces.nsIClipboard;
                if (!clip) return false;
                clip.setData(trans, null, clipid.kGlobalClipboard);
                alert("已成功复制文本.");
            }
        }

  

标签:trans,网页,js,window,alert,Components,剪切板,var,txt
From: https://www.cnblogs.com/niunan/p/17559769.html

相关文章

  • Vue3 遍历显示Json数组
    在Vue项目中遍历显示Json数组以列表的形式显示的页面上 main.js全局json对象//全局jsonconstglobalData=reactive({extTelTalkData:[{userExten:"1000",userName:"刘亦菲",callStatus:"通话"},......
  • 复杂数据回显 返回json 字符串转换成单选
     <el-table        :data="tableData"        border        style="width:882px;margin-left:8px;">        <el-table-column        prop="label"        label="......
  • js 数组join,内容用序号连接
    要将数组内容用序号连接,你可以使用JavaScript的`Array.prototype.map()`方法和`Array.prototype.join()`方法来实现。下面是一个示例代码:```javascriptconstarr=["apple","banana","orange"];constjoinedString=arr.map((item,index)=>`${index+1}.${item}`)......
  • js:http-vue-loader从浏览器直接引入vue文件
    docgithub:https://github.com/FranckFreiburger/http-vue-loaderindex.html<!doctypehtml><htmllang="en"><head><scriptsrc="https://cdn.bootcdn.net/ajax/libs/vue/2.6.14/vue.min.js"></script><s......
  • js 文件 朗读功能实现
    创建一个加载器使用window的speechSynthesis对象letbofangqi=window.speechSynthesis()再创建一个阅读器实例对象letreader=newSpeechSynthesisUtterance()设置阅读器的阅读方式:reader.text='这里是需要阅读的文本'reader.rate='1.5'//这个是倍速reader.lang='zh-......
  • 【NestJS系列】DI依赖注入与IOC控制反转
    前言上篇文章我们学习了如何使用nest-cli来快速生成一个NestJS后端项目,当我们打开编辑器查看代码时,会发现整个代码风格有点类似JAVA的spring框架,并且你会发现一些service类在controller控制器的constructor中注入后,可以不需要手动new就可以直接使用该类对应的实例方法。比如:imp......
  • Postman导出的.json文件转成Jmeter的.jmx文件
    转载:https://blog.csdn.net/RoninYang/article/details/107997794Postman导出的.json文件转成Jmeter的.jmx文件一、背景:最近测公司的项目,发现有个接口调用的多了会出现个别情况的响应超时,就想着用jmeter跑一下多线程,看下这种情况是否经常出现,然后就遇到了一个新颖的问题:怎么把p......
  • uni-app http.js 请求封装(构造函数版本)
    import{getToken,removeToken}from"./auth.js"importconfigfrom'./config.js'//默认配置constDEFAULT_CONFIG={baseUrl:process.env.NODE_ENV==='development'?config.url_qa_api:config.url_online_api,//这里是自定......
  • dockerhub网页无法访问解决
    docker官网最近无法访问,如果只是拉取镜像,其实问题不大,可以通过设置中科大,阿里等镜像仓库解决;但是如果想要查询tag,即docker镜像版本类型等信息,docker本身的命令并不支持,只能从web网页查看,找到一个网站,大部分热门的可查,据说有一些镜像可能版本较老,凑合使用吧:Docker......
  • JS
    JSObject.defineProperty()Object.defineProperty()方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。语法:Object.defineProperty(obj,prop,descriptor)参数:obj要在其上定义属性的对象。prop要定义或修改的属性的名称。d......