首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是什么阻止了Javascript将值存储在剪贴板上?

是什么阻止了Javascript将值存储在剪贴板上?
EN

Stack Overflow用户
提问于 2018-07-17 05:34:09
回答 2查看 28关注 0票数 0

我在我的ASP.Net网站上使用了一些简单的Javascript。

一个值被计算并存储在一个隐藏的文本框中,如下所示。

代码语言:javascript
复制
<asp:LinkButton ID="LinkButtonShare" runat="server" CssClass="btn btn-success" OnClientClick="copyToClipboard()"><i class="fa fa-share-square"></i> Share</asp:LinkButton>
<div class="hidden"><asp:TextBox ID="TextBoxCopyURL" runat="server" ClientIDMode="Static"></asp:TextBox></div>

然后它执行我的Javascript,如下所示。

代码语言:javascript
复制
function copyToClipboard() {
  var copyText = document.getElementById("TextBoxCopyURL");
  copyText.select();
  document.execCommand("copy");

  /* Alert with the copied text */
  alert("Copied the text: " + copyText.value);

导致如下所示的警告,但字符串永远不会复制到我的Firefox或Chrome剪贴板中。

我似乎不能理解在这么简单的事情上我错过了什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-17 06:01:07

代码稍有不同,但基本相同。它的工作方式与预期一致。https://codepen.io/anon/pen/ZjWXoj

代码语言:javascript
复制
function copyToClipboard() {
  var copyText = document.getElementById("textinput");
  copyText.select();
  document.execCommand("copy");

  console.log(copyText.value); // logs copyText input value
}

document.querySelector('#btn').addEventListener('click', () => {
  copyToClipboard();
})

请注意,在js中不能直接获取剪贴板的内容。也就是说,您不能以编程方式触发粘贴或访问剪贴板的内容。

票数 2
EN

Stack Overflow用户

发布于 2018-07-17 06:06:44

按照本页上的示例进行操作:

https://forums.asp.net/t/1106610.aspx?How+to+copy+the+text+of+a+textbox+to+clipboard+

你可以这样解决它:

代码语言:javascript
复制
function copyToClipboard() {
    var copyText = document.getElementById("TextBoxCopyURL");
    copyTextValue = copyText.value;

    window.clipboardData.setData('Text' , copyTextValue );

    /* Alert with the copied text */
    alert("Copied the text: " + copyTextValue );

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51370393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档