8

I have a problem when capture screen with html2canvas of html2canvas.hertzen.com, when I capture Map of google map in my page I can't see map

My map

My capture

My code

html2canvas(document.body, {
    onrendered: function(canvas) {
        document.body.appendChild(canvas);
    }
});

Anyone got a tip? Thanks

0

2 Answers 2

7

The following works for me for Chrome and Firefox:

html2canvas(document.body, {
      proxy: "server.js",
      useCORS: true,
      onrendered: function(canvas) {
        document.body.appendChild(canvas);
      }
    });

where server.js is https://github.com/niklasvh/html2canvas-proxy-nodejs There are other proxies available for PHP and Python that I haven't tried yet. I cannot post both but if you google "html2canvas proxy" you'll be able to find the others if you need them.

Sign up to request clarification or add additional context in comments.

3 Comments

I use html2canvas (from html2canvas.hertzen.com) to capture screenshot. I got this strange error like this: The code of my webpage is put on one host, say Host A. If my webpage contains an image on another host, say Host B, then I hit this error: Cross-origin image load denied by Cross-Origin Resource Sharing policy However, the confusing part is that if Host B is facebook (my image is a direct link to facebook fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/…) then the error disappear.
My function html2canvas([document.body], { useCORS : true, logging : true, onrendered : function(canvas) { document.body.appendChild(canvas); var myImage = canvas.toDataURL("image/png"); window.open(myImage); } Anyone got a tip? Tks
Check out this issue on the html2canvas github issue page, it should help you out: github.com/niklasvh/html2canvas/issues/248
0
  html2canvas(document.body, {
      proxy: "/my-proxy",
    }).then((canvas) => {
       document.body.appendChild(canvas);
    });

IMPORTANT: Don't add useCORS: true if you using proxy: "/my-proxy" setting.

The plugin will send the request in the next format

https://your-site.com/my-proxy?url=https://path-to-image.jpg&responseType=blob

More information about the proxy server is available here.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.