工作剪贴板脚本与 Chrome 不兼容。适用于 Edge/IE

我有一个工作剪贴板脚本,我必须在我们的门户页面上使用它来利用剪贴板功能。我们正在从 IE/Edge 迁移到 Chrome,而且这个脚本似乎在 Google Chrome 中不起作用。如果我们能找到一种方法使代码兼容 chrome/多浏览器,而不必为仅 Chrome 编写新脚本,我会很高兴的。


虽然我有一个适用于 Chrome 的工作脚本,但这意味着我必须使用剪贴板重新构建数百个页面,我宁愿让脚本已经嵌入到所有这些页面中,与 chrome 兼容。下面是我正在使用的脚本:


(function() {


    'use strict';


  // click events

  document.body.addEventListener('click', copy, true);


    // event handler

    function copy(e) {


    // find target element

    var 

      t = e.target,

      c = t.dataset.copytarget,

      inp = (c ? document.querySelector(c) : null);


    // is element selectable?

    if (inp && inp.select) {


      // select text

      inp.select();


      try {

        // copy text

        document.execCommand('copy');

        inp.blur();


        // copied animation

        t.classList.add('copied');

        setTimeout(function() { t.classList.remove('copied'); }, 1500);

      }

      catch (err) {

        alert('please press Ctrl/Cmd+C to copy');

      }


    }


    }


})();


// Button must include data-copytarget="#website" with the #xxx matching the element id

结果:在 IE/Edge 中,您单击按钮,分配给该按钮的文本将添加到剪贴板以进行粘贴。然而,在 Chrome 中,点击按钮并没有任何反应。


饮歌长啸
浏览 143回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript