使用clipboard.js从浏览器复制URL

时间:2016-05-25 16:18:11

标签: javascript clipboard.js

我正在使用Accusoft文档查看器。我需要一个按钮,单击该按钮时会将当前URL和页码查询字符串参数复制到剪贴板。我正在使用clipboard.js。我确切知道如何获取当前URL以及如何向URL添加页码参数。我不知道该怎么做是让clipboard.js将一个变量(例如带有页码参数的生成的URL)复制到剪贴板。对此有何帮助?

2 个答案:

答案 0 :(得分:10)

Clipboard.js创建者在这里;)

您可以使用命令式API来实现:

var url = document.location.href;

new Clipboard('.btn', {
  text: function() {
    return url;
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.5.10/clipboard.min.js"></script>


<button class="btn">Copy</button>

答案 1 :(得分:0)

将变量的内容放入div中,然后将其用作clipboard.js的目标.... 我不得不承认我没有尝试过,但它应该可行。

您的按钮(clipboard.js网站的示例):

<button class="btn" data-clipboard-target="#clipboardTarget">
    <img src="assets/clippy.svg" alt="Copy to clipboard">
</button>
<div id="clipboardTarget" style="display:none;"></div>

将变量的内容放入目标div:

var myData = "http://example.com?data=something";
$("#clipboardTarget").html(myData);

现在可以复制了。

<强> -----
修改

好的,经过下面的讨论,我真的通过下载Clipboard.js并测试了它来尝试我的解决方案 (有一天我会在发布之前学会测试我的解决方案!)

事实证明,只有在div可见时才能使用它 可悲的是,

所以我的解决方案是错的。
无论如何我把它留在这里......作为“不要这样做,这是一个错误的好主意”

感谢Michael Mahony 提供反馈意见 ;)