The HTML2Canvas script lets you to capture full screenshots of webpages directly inside the browser without requiring any add-ons or software.

The script traverses through the DOM of the page it is loaded on. It gathers information on all the elements there, which it then uses to build a representation of the page. It does not require any rendering from the server, as the whole image is created on the clients browser.

All the images that the script uses need to reside under the same origin for it to be able to read them without the assistance of a proxy. Similarly, if you have other canvas elements on the page, which you have drawed cross-origin images on, they will become dirty and no longer readable by html2canvas.