Como posso salvar div como imagem no lado do cliente, onde div contém um ou mais de um elemento de tela HTML5?

O elemento Div 'canvasesdiv' contém três telas HTML5.

<div style="position: relative; width: 400px; height: 300px;" id="canvasesdiv">
    <canvas width="400" height="300px" style="z-index: 1; position: absolute; left: 0px; top: 0px;" id="layer1" />
    <canvas width="400" height="300px" style="z-index: 2; position: absolute; left: 0px; top: 0px;" id="layer2"/>
    <canvas width="400" height="300px" style="z-index: 3; position: absolute; left: 0px; top: 0px;" id="layer3"/>
</div>

Como posso salvar uma imagem combinando todas as telas presentes dentro da div 'canvasesdiv' no lado do cliente usando JavaScript?

questionAnswers(2)

yourAnswerToTheQuestion