I'm wondering if there's any way to copy text to the clipboard. I'm well aware of this answer, but it's over three years old now. Has anything changed since then?
-
1Stackoverflow isn't four years old... :-)gdoron– gdoron2012-03-20 19:32:35 +00:00Commented Mar 20, 2012 at 19:32
-
But the question was asked in 2008. =)Elliot Bonneville– Elliot Bonneville2012-03-20 19:33:37 +00:00Commented Mar 20, 2012 at 19:33
-
2Pish tosh, 2012 - 2008 = 4. Everybody knows that. :P (joking aside, you're right, of course. Fixing.)Elliot Bonneville– Elliot Bonneville2012-03-20 19:35:55 +00:00Commented Mar 20, 2012 at 19:35
Add a comment
|
2 Answers
The easiest thing to do at this point is to go with a Flash based solution. zeroclipboard is a common one (a nice walkthrough is available here).
Browser vendors have over the past few years removed programatic access to the clipboard. Safari / Chrome lost the ability after a change in WebKit, and FireFox for a long time has blocked it. Only IE remains as one that does allow it, however it displays an alert on each page initially.
Comments
Try this
function myFunc() {
/* Get the text field */
let copyText = document.getElementById("myInput");
/* Select the text field */
copyText.select();
/* Copy the text inside the text field */
document.execCommand("copy");
/* Alert the copied text */
alert("Copied the text: " + copyText.value);
}
input {
display: inline-block;
padding: .60rem;
font-size: 1rem;
color: #495057;
background-color: #f1f1f1;
border: 1px solid #ced4da;
border-radius: .25rem;
}
button {
display: inline-block;
font-weight: 400;
color: #ffffff;
cursor: pointer;
text-align: center;
user-select: none;
background-color: #007bff;
border: 1px solid transparent;
padding: .375rem .75rem;
font-size: 1rem;
line-height: 1.5;
border-radius: .25rem;
outline: 0;
}
<!-- The text field -->
<input type="text" id="myInput" value="Some Random Text">
<!-- The button used to copy the text -->
<button type="button" onclick="myFunc()">Copy</button>
1 Comment
slfan
Could you explain your answer? document.exe('copy') was already used in the referred question