HTML5 - Copy To Clipboard
Below is a code example that you can add to your site to have a code section with a button, that when clicked, will copy the code to the user's clipboard. I have done the same thing below, but with a hyperlink instead of a button.
<pre id="code-to-copy">
// This is some code
// Another line
</pre>
<p><button id="js-emailcopybtn">Copy to clipboard</button></p>
<script>
var copyCodeBtn = document.querySelector('#js-emailcopybtn');
copyCodeBtn.addEventListener('click', function(event)
{
    // Select the email link anchor text  
    var emailLink = document.querySelector('#code-to-copy');
    var range = document.createRange();
    range.selectNode(emailLink);
    window.getSelection().addRange(range);
    try
    {
        // Now that we've selected the anchor text, execute the copy command
        var successful = document.execCommand('copy');
        var msg = successful ? 'successful' : 'unsuccessful';
        console.log('Copy email command was ' + msg);
    } 
    catch (err)
    {
        console.log('Oops, unable to copy');
    }
    // Remove the selections - NOTE: Should use
    // removeRange(range) when it is supported
    window.getSelection().removeAllRanges();
});
</script>
Walkthrough Video
Here is a video of me demonstrating the code in use to prove it works.
                        Last updated: 7th May 2023                        
First published: 16th August 2018
                                    First published: 16th August 2018