SOURCE

console 命令行工具 X clear

                    
>
console
var Main = {
  data() {
    return {
      tableData: []
    }
  },
  created () {
   
  },
  methods: {
    handleClick() {
    },
     getSelect(e) {
        // var targetNode=document.getElementById("biao1");
        let targetNode= this.$refs.biao2
         console.log(window.getSelection);
        if (window.getSelection) {
            //chrome等主流浏览器
            var selection = window.getSelection();
            var range = document.createRange();
            range.selectNode(targetNode);
            selection.removeAllRanges();
            selection.addRange(range);
        } else if (document.body.createTextRange) {
            //ie
            var range = document.body.createTextRange();
            range.moveToElementText(targetNode);
            range.select();
        }
        //  document.execCommand("Copy"); // 执行浏览器复制命令
        // var clipboardData =  e.originalEvent.clipboardData
        // clipboardData.setData('Url', 'https://scp-static.cicsc.com/uat/spreadChannel/7459678991482880/template7459678991482880.png');
        // console.log(clipboardData)
       try{
            if(document.execCommand('copy', false, true)){ 
                console.log('成功!')
            }else{
                 console.log('失败!')
            }
                //success info } else{ //fail info }
           } catch(err){ 
                    //fail info
               console.log(err)
           }
    },
    handleCopyImg(){
        if(!navigator.clipboard){
            console.log('浏览器不支持操作粘贴板!')
            return
        }
        let targetNode= this.$refs.biao1;
        const canvas = document.createElement('canvas');
        const ctx = canvas.getContext('2d');
        const img = new Image();
        canvas.width = targetNode.width;
        canvas.height = targetNode.height;
        img.crossOrigin = 'anonymous';
        img.src = targetNode.src;
        img.onload = ()=>{
            debugger
            ctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height);
            ctx.drawImage(img,0,0);
            canvas.toBlob(async blob =>{
                console.log(blob);
                const data = [
                    new ClipboardItem({
                        [blob.type]: blob
                    })
                ];

                console.log(navigator.clipboard)
                await navigator.clipboard.write(data)
                    .then(
                        () => {
                            console.log("Copied to clipboard successfully")
                        },
                        ()=>{
                        console.error("Unable to clipboard successfully")

                        }
                    );
            });
        };
       
    }
  }
};
var Ctor = Vue.extend(Main);
new Ctor().$mount('#app')
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<div id="app">
  <template>
    <div>
        <img src="https://scp-static.cicsc.com/uat/spreadChannel/7454145363443712/template7454145363443712.png" ref="biao1"   />
        <button @click="handleCopyImg" ref="biao2">这是将要被复制的图片</button>
        <button @click="getSelect">点击复制文字,所有平台都支持粘贴</button>
   </div>  
  </template>
</div>