我将如何实现'复制网址到剪贴板'从一个链接或按钮使用javascript或dojo没有flash

oaxa6hgo  于 2022-12-16  发布在  Dojo
关注(0)|答案(5)|浏览(176)

我在我的网络应用程序上实现这个功能时遇到了麻烦。所有其他的可能性大多是通过使用flash内容。有人能解释一下我如何通过使用普通的javascript或Dojo来实现它吗?

bprjcwpo

bprjcwpo1#

我一直在研究同样的问题,对我来说闪存不是一个可行的解决方案,所以我想出了这个简单的解决方案:
<button onclick="prompt('Press Ctrl + C, then Enter to copy to clipboard','copy me')">Click to Copy</button>
它需要在用户端做一些额外的工作,但至少它不需要闪存或外部库。
example fiddle

cnwbcb6i

cnwbcb6i2#

想要实现相同的特性,最后使用了https://clipboardjs.com

new Clipboard('.btn', {
  text: function() {
    return window.location.href;
  }
});

效果良好

swvgeqrz

swvgeqrz3#

超文本标记语言

<a class="" data-toggle="tooltip" data-placement="top" title="Copy profile Link" onclick="copy_to_clipboard('<%=public_profile_url(user.public_id)%>')">
<i class="fa fa-copy"></i>

CSS

#url_public_id{
  display: none;
}

JS系统

function copy_to_clipboard(link) {
    $("#url_public_id").show()
    var Url = document.getElementById("url_public_id");
    Url.select();
    document.execCommand("copy");
    $("#url_public_id").hide()
    alert("Copied URL ");
}
vs3odd8k

vs3odd8k4#

这已经是很长时间了,但现在这一点起作用了:

document.execCommand('copy');

将当前选中的文本复制到剪贴板,如果你想用javascript复制一个特定的文本,你必须在DOM中创建一个假的input元素,然后执行以下操作

let element = document.getElementById('yourID');
element.value = 'yourText';
element.select();
element.setSelectionRange(0, element.value.length);
document.execCommand('copy');
biswetbf

biswetbf5#

检查我的代码它工作

static getFileUrl(id){
    var url=new URL("http://localhost:3000/FileUrl")
    url.searchParams.append('id',id)
    return url.href
}
static copyFileUrl(id){
    copy(this.getFileUrl(id))
}

相关问题