我正在尝试在项目中使用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
答案 0 :(得分:1)
zeroclipboard依赖于Adobe Flash,该Adobe Flash已被淘汰(计划于2020年停产EOL),并且在现代浏览器中默认未启用它。
您可以尝试像clipboard.js这样依赖现代浏览器支持(Selection
和execCommand
)并且不需要任何闪存的库。