Zeroclipboard导轨不起作用,但没有错误

时间:2019-05-13 15:33:14

标签: javascript ruby-on-rails zeroclipboard

我正在尝试在项目中使用Zeroclipboard(通过宝石zeroclipboard-rails),但是它不起作用,并且没有错误。

这是我的脚本:

$(document).on("ready page:change", function () {
  var client = new ZeroClipboard($("#copyToClipboard"));

  client.on("complete", function (client, args) {
    alert("Text successfully copied");
  });
});

$(document).on("page:before-change", function () {
  ZeroClipboard.destroy();
});

我也尝试过:

$(document).on("ready page:change", function () {
  var client = new ZeroClipboard($("#copyToClipboard"));

  client.on("load", function (client) {
    client.on("complete", function (client, args) {
      alert("Text successfully copied");
    });
  });
});

$(document).on("page:before-change", function () {
  ZeroClipboard.destroy();
});

我能够记录client变量,但在complete事件中什么都没有。

我找到了此文档:https://github.com/zeroclipboard/zeroclipboard/blob/master/docs/api/ZeroClipboard.md

因此,我尝试将load替换为ready,然后将complete替换为aftercopy,但没有效果...

我的苗条代码:

#contentForClipboard.d-none
  = simple_format(h proposition.content)

[...]

= button_tag id: 'copyToClipboard', 'data-clipboard-target' => 'contentForClipboard', class: "btn btn-light btn-sm clip_button" do
  => fa_icon('fas', 'clipboard')
  | Copy

1 个答案:

答案 0 :(得分:1)

zeroclipboard依赖于Adobe Flash,该Adobe Flash已被淘汰(计划于2020年停产EOL),并且在现代浏览器中默认未启用它。

您可以尝试像clipboard.js这样依赖现代浏览器支持(SelectionexecCommand)并且不需要任何闪存的库。