Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

html2canvas-proxy-csharp 0.0.6

C# Proxy html2canvas

This script allows you to use html2canvas.js with different servers, ports and protocols (http, https), preventing to occur "tainted" when exporting the <canvas> for image.

Others scripting language

You do not use ASP.NET, but need html2canvas working with proxy, see other proxies:

###Problem and Solution### When adding an image that belongs to another domain in <canvas> and after that try to export the canvas for a new image, a security error occurs (actually occurs is a security lock), which can return the error:

SecurityError: DOM Exception 18

Error: An attempt was made to break through the security policy of the user agent.


I ask you to follow me or "star" my repository to track updates


<!DOCTYPE html>
        <meta charset="utf-8">
        <title>html2canvas ashx (c#) proxy</title>
        <script src="html2canvas.js"></script>
		(function() {
			window.onload = function() {
				html2canvas(document.body, {
					"logging": true, //Enable log (use Web Console for get Errors and Warings)
					"onrendered": function(canvas) {
			                        var img = new Image();
			                        img.onload = function() {
			                        img.error = function() {
			                            if(window.console.log) {
			                                window.console.log("Not loaded image from canvas.toDataURL");
			                            } else {
			                                alert("Not loaded image from canvas.toDataURL");
			                        img.src = canvas.toDataURL("image/png");
            <img alt="google maps static" src=",-73.998672&amp;zoom=12&amp;size=400x400&amp;maptype=roadmap&amp;sensor=false">

Using Web Console

If you have any problems with the script recommend to analyze the log using the Web Console from your browser:

Get NetWork results:

An alternative is to diagnose problems accessing the link directly:


Replace [DOMAIN] by your domain (eg. and replace [PATH] by your project folder (eg. project-1/test), something like:


.NET Framework compatibility

From version 0.0.4 has become the code compatible with older versions of the .net framework, being compatible with version .net framework 2.0+

Alternatives for C#(C Sharp)

You are not using html2canvas but need a similar solution? See simpleHttpProxy:



html2canvas-csharp-proxy 0.0.5 and 0.0.6

  • Added support to HTTP Basic access authentication
  • Added support to use data URI scheme in callback
  • Added support to SVG images
  • Added support to requests/response without "Content-Length"
  • Added detection if the "Content-Length" header is equal to "0" (Content-Length: 0)
  • Moved "setup vars" to "Class"
  • Removed unecessary "fullurl = fullurl"
  • Removed "must-revalidate" header
  • Remove charset in "mimetype"
  • Fixed bug in detecting if "callback" and "url" are undefined (GET params)
  • Fixed Ascii2Inline function (version 0.0.6)
  • Fixed size in buffer (sometimes had negative number and the buffer causing an error in the script) (version 0.0.6)
  • Replace "tabs" by space (4 size) (version 0.0.6)