Copying Chart as base64 image to Clipboard - CanvasJS JavaScript Charts

Copying Chart as base64 image to Clipboard - CanvasJS JavaScript Charts

HTML

<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>

  <div id="chartContainer" style="height: 360px; width: 100%;">  </div>
  <div id="placehere">
  </div>
  <button id="copyBtn" > Copy </button>
<br/><!-- Just so that JSFiddle's Result label doesn't overlap the Chart -->

JavaScript

var chart = new CanvasJS.Chart("chartContainer",
{        
	data: [
	{
		type: "column",
		dataPoints: [
			{ x: 10, y: 71 },
			{ x: 20, y: 55 },
			{ x: 30, y: 50 },
			{ x: 40, y: 65 },
			{ x: 50, y: 95 },
			{ x: 60, y: 68 },
			{ x: 70, y: 28 },
			{ x: 80, y: 34 },
			{ x: 90, y: 14 }
		]
	}					
	]
});

chart.render();

var copyBtn = document.getElementById("copyBtn");

copyBtn.addEventListener('click', function(event) {
  var canvasDataUrl = ((document.getElementsByClassName("canvasjs-chart-canvas"))[0]).toDataURL("image/png");
  //canvasDataUrl.select();
	selectedDataUrl = document.createElement('textarea');
  document.body.appendChild(selectedDataUrl);
  
  selectedDataUrl.value = canvasDataUrl;
  var x = document.createElement("IMG");
  x.setAttribute("src", canvasDataUrl);
  x.setAttribute("width", "100%");
  x.setAttribute("height", "360");
  x.setAttribute("alt", "Chart");
  x.setAttribute("id","qwerty");
  
  document.getElementById("placehere").appendChild(x);
  
  var element = document.getElementById("qwerty");
  var range = document.createRange();
  range.selectNode(element);
  window.getSelection().removeAllRanges();
  window.getSelection().addRange(range);
	document.execCommand('Copy');
   document.body.removeChild(selectedDataUrl);
  document.getElementById("placehere").removeChild(x);
});