js copy to clipboard cross browser
                                /** copy text to the clipboard */
function copy2clipboard( text, callback /* optional */ ) {
	// use modern clipboard API
	if ( navigator.clipboard ) {
		navigator.clipboard.writeText( text )
		.then( function(){
			// if a callback is provided, call it
			callback && callback();
		}).catch( function( err ){
			errorMessage( err );
		}); 
	}
	// use old document.execCommand('copy')
	else {
		// create a temporary textArea containing the text
		var textArea = document.createElement( 'textarea' );
		textArea.setAttribute( 'style', 'width:1px;border:0;opacity:0;' );
		document.body.appendChild( textArea );
		textArea.value = text;
		// select the textArea
		textArea.select();
		try {
			// copy from textArea
			var isCopied = document.execCommand('copy');
			// if copy was successful, and a callback is provided, call it. if copy failed, display error message
			isCopied ? ( callback && callback() ) : errorMessage();
		} 
		catch( err ) {
			errorMessage( err );
		}
		// remove temporary textArea
		document.body.removeChild( textArea );
	}
	/** display error message */
	function errorMessage( err ) { 
		alert( 'Copy to clipboard failed ' + ( err || '' ) ) 
	};
    
}