js 访问剪贴板粘贴

由于浏览器支持度不够,以下代码不能实现功能。存照。

        $("#GETPAST").click(function(event) {
            /*var items = (event.clipboardData && event.clipboardData.items) || [];
            var file = null;
            alert(items);
            if(items && items.length) {
                for(var i = 0; i < items.length; i++) {
                    if(items[i].type.indexOf('image') !== -1) {
                        file = items[i].getAsFile();


                        break;
                    }
                }
            }

            var reader = new FileReader();
            reader.onload = function(e){
                // 通过e.target.result取到base64然后上传
                var outputtext = "<img src=\""+e.target.result+"\">";
                win1.focus();
                if(isIE()){
                    // 以下代码 IE ver < 11
                    doc1.selection.createRange().pasteHTML(outputtext);
                }else{
                    doc1.execCommand("insertHTML", false, outputtext);
                }
                // 作为src设到image标签上预览
            }
            reader.readAsDataURL(file); //此处的file为上面得到的文件对象```
            alert("paste1");    */        
/*let data = new DataTransfer();
             navigator.clipboard.read().then(data => {
      for (let i=0; i<data.items.length; i++) {
        if (data.items[i].type != "text/plain") {
          alert("Clipboard contains non-text data. Unable to access it.");
        } else {
          textElem.innerText = data.items[i].getAs("text/plain");
        }
      }
    });*/


            var clipPromise = navigator.clipboard.readText();
            clipPromise.then(function(clipText){
                alert(clipText);
            });/**/

            // 另一种写法,=> 可能需要其他js环境支持
            /*navigator.clipboard.readText()
              .then(text => {
                console.log('Pasted content: ', text);
              })
              .catch(err => {
                console.error('Failed to read clipboard contents: ', err);
              });*/

                /* 浏览器禁止按钮粘贴对象,安全问题。
            //var permission = navigator.permissions.query({ name: 'clipboard-read' });
            alert(navigator.appVersion);
            //if (permission.state === 'denied') {
            //  throw new Error('Not allowed to read clipboard.');
            //}

            var clipPromise = navigator.clipboard.read();
            clipPromise.then(function(datas) {
                //alert(datas);
              for (let i=0; i<datas.length; i++) {
                var data = datas[i];
                var datatypes = data.types;
                //var datatypearray = datatypes.split(",");

                alert(datatypes);
                if (data.types.includes('image/png')) {
                  alert("Clipboard contains non-text data. Unable to access it.");
                  var p1 = data.getType("image/png");
                  alert(p1);
                } else {
                    outputtext = data.getType("text/plain");
                    if(isIE()){
                        // 以下代码 IE ver < 11
                        doc1.selection.createRange().pasteHTML(outputtext);
                    }else{
                        doc1.execCommand("insertHTML", false, outputtext);
                    }
                }
              }
            });*/
            /*win1.focus();
            var inputtext = prompt("请输入图片链接:", "http://");
            if(inputtext.length > 0){
                var outputtext = "<img src=\""+inputtext+"\">";

                if(isIE()){
                    // 以下代码 IE ver < 11
                    doc1.selection.createRange().pasteHTML(outputtext);
                }else{
                    doc1.execCommand("insertHTML", false, outputtext);
                }
            }*/
        });

 

 



    document.addEventListener('paste', function(event) {
        var items = (event.clipboardData && event.clipboardData.items) || [];
        var file = null;
        if(items && items.length) {
            for(var i = 0; i < items.length; i++) {
                if(items[i].type.indexOf('image') !== -1) {
                    file = items[i].getAsFile();
                    break;
                }
            }
        }

        var reader = new FileReader();
        reader.onload = function(e){
        // 通过e.target.result取到base64然后上传
        var outputtext = "<img src=\""+e.target.result+"\">";
        if(isIE()){
            // 以下代码 IE ver < 11
            doc1.selection.createRange().pasteHTML(outputtext);
        }else{
            doc1.execCommand("insertHTML", false, outputtext);
        }
        // 作为src设到image标签上预览
        }
        reader.readAsDataURL(file); //此处的file为上面得到的文件对象```
        alert("paste1");
        //console.log(file)
    });/**/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值