复制到剪贴板在Safari中不起作用

时间:2015-12-13 17:53:26

标签: javascript jquery html iframe clipboard.js

下面是我的代码“复制到剪贴板”一切正常,除了它不在Safari浏览器上工作...请帮忙

<textarea id="mcq1" style="width:1px; height:1px; opacity:0; position:absolute;">
    <iframe src="http://s.rabblerapp.com/widget/widget.php?raw_uuid=de8c6880-9624-4b1d-8905-a3e2ab290660" style="width:100%;height:635px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0"></iframe>
</textarea>

<button class="rb_mcqbtn btn" data-clipboard-action="copy" data-clipboard-target="#mcq1" onclick="show_area('copied');">Copy Embed Code</button>

这是我用过的javascript ... https://zenorocha.github.io/clipboard.js

2 个答案:

答案 0 :(得分:2)

我看了他们的网站..

请看这里:link

  

此库依赖于Selection和execCommand API。第二个在以下浏览器中受支持。

     

这里的图片.....

     

虽然Safari尚未支持使用execCommand 进行复制/剪切操作(包括移动设备),但由于支持选择,因此优先降级。

答案 1 :(得分:1)

我同意审核他们的文档并创建一个适合您的解决方案,但这是我想出的一个简单的后备。允许您不必使用第三方提示库。我只是切换目标文本。


    var CopytoClipboard = new Clipboard('.clipboard-copy');
    CopytoClipboard.on('success', function(e) {
      var $target = $(e.trigger);
      var oText = $target.html();
      $target.html("Copied!");
      setTimeout(function () {
        $target.html(oText);
      }, 800);
    });
    CopytoClipboard.on('error', function(e) {
      var $target = $(e.trigger);
       var oText = $target.html();
      $target.html("Press ⌘C to copy");
      setTimeout(function () {
        $target.html(oText);
      }, 3000);
    });