【问题标题】:Copy to Clipboard is Not Working in safari复制到剪贴板在 Safari 中不起作用
【发布时间】:2015-12-13 17:53:25
【问题描述】:

下面是我“复制到剪贴板”的代码,一切正常,除了它在 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

【问题讨论】:

  • 嗨,如果我提供一个代码来复制没有任何插件的文本,它对你有用吗
  • 看来Safari 10 现在支持document.execCommand("copy"),所以clipboard.js 现在应该可以在最新的Safari 中使用了。

标签: javascript jquery html iframe clipboard.js


【解决方案1】:

我看过他们的网站..

看这里:link

这个库依赖于 Selection 和 execCommand API。以下浏览器支持第二个。

图片在这里.....

虽然 Safari(包括移动设备)尚不支持使用 execCommand 进行复制/剪切操作,但它会优雅地降级,因为支持选择。

【讨论】:

    【解决方案2】:

    我同意查看他们的文档并创建一个适合您的解决方案,但这是我想出的一个简单的后备方案。让您不必使用第 3 方醉酒图书馆。我只是切换目标文本。

    var CopytoClipboard = new Clipboard('.clipboard-copy'); CopytoClipboard.on('成功', function(e) { var $target = $(e.trigger); var oText = $target.html(); $target.html("复制了!"); 设置超时(函数(){ $target.html(oText); }, 800); }); CopytoClipboard.on('error', function(e) { var $target = $(e.trigger); var oText = $target.html(); $target.html("按⌘C复制"); 设置超时(函数(){ $target.html(oText); }, 3000); });

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-04
      • 1970-01-01
      • 1970-01-01
      • 2016-08-02
      • 1970-01-01
      相关资源
      最近更新 更多