Zeroclipboard-рельсы не работают, но без ошибок - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь использовать Zeroclipboard (через gem 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 var, но ничего внутри события 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 Ответ

1 голос
/ 13 мая 2019

zeroclipboard полагается на Adobe Flash, который постепенно прекращается (EOL запланирован на 2020 год), и он уже не включен по умолчанию в современных браузерах.

Вы можете попробовать библиотеки типа clipboard.js , которые полагаются на поддержку современных браузеров (Selection и execCommand) и не требуют какой-либо прошивки.

...